Я использую кеш 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 /;
}
}