Как возобновить кэширование nginx без перезапуска nginx после очистки

1847
David Farrell

Я использую кеш fastcgi с nginx 1.4.4 на fedora, и он прекрасно работает, пока я не очищу каталог кеша с помощью:

find /var/nginx/cache -type f -exec rm -f {} \; 

После этого nginx не возобновит кэширование каких-либо запросов, пока nginx не будет перезапущен.

По словам Игоря, перезагрузка не нужна. Так как же мне заставить nginx возобновить кеширование, не перезапуская его?

Вот мой файл виртуального хоста:

fastcgi_cache_path /var/nginx/cache levels=1:2  keys_zone=PAGE_CACHE:60m  inactive=60m;  fastcgi_cache_key "$scheme$request_method$host$request_uri";  fastcgi_buffers 256 4k;  add_header X-Cache $upstream_cache_status;   server {  listen 80 default;  server_name localhost;  root /var/www/website/root;  location = /favicon.ico {  return 204;  }  location ~* \.(php|cgi|asp|aspx|jsp)$ {  return 404;  }  try_files $uri @fcgi;  location @fcgi {  fastcgi_cache PAGE_CACHE;  fastcgi_cache_valid 200 5m;  limit_conn tenmins 3;  limit_req zone=gulag burst=50 nodelay;  fastcgi_pass unix:/tmp/fastcgi.socket;  include /etc/nginx/fastcgi.conf;  fastcgi_param SCRIPT_NAME /;  }  }  
1

1 ответ на вопрос

1
David Farrell

Изменяя это в моем nginx.conf:

sendfile off; 

И перезапуск системы решил проблему.