清除后如何恢复 nginx 缓存而无需重新启动 nginx

清除后如何恢复 nginx 缓存而无需重新启动 nginx

我在 Fedora 上将 fastcgi 缓存与 nginx 1.4.4 结合使用,效果很好,直到我使用以下命令清除缓存目录:

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

在我的 nginx.conf 中更改此项:

sendfile off;

重启系统解决了这个问题。

相关内容