Nginx 不将页面缓存到磁盘

Nginx 不将页面缓存到磁盘

我正在 Ubuntu 18.04 上将 Nginx 设置为通过 php-fpm 处理 PHP 的 Web 服务器。它运行良好,速度快如闪电。我试图将其配置为缓存页面,以查看性能是否会变得更好。但是,我无法让它将页面缓存到磁盘。我指定的用于保存页面的目录当前设置为对世界开放(777)。

以下是我的配置文件的相关部分和示例页面请求标头:

nginx.conf:

http {
        proxy_cache_path /var/www/ma_cache levels=1:2 keys_zone=ma_cache:10m use_temp_path=off max_size=20g;
}

站点可用/mysite.conf:

server {
        proxy_buffering on;
        proxy_cache ma_cache;
        proxy_cache_valid 720h;
        proxy_ignore_headers Set-Cookie;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }
}

示例响应:

content-encoding: gzip
content-type: text/html; charset=UTF-8
date: Thu, 14 Nov 2019 21:08:13 GMT
server: nginx/1.14.0 (Ubuntu)
status: 200

肯定是我理解错了什么,或者我太愚蠢了。我希望有人能给我指明正确的方向。

答案1

由于我们不是将 Nginx 用作代理,而是将其本身用作 Web 服务器,因此配置选项与文档相比有所变化。以 开头的缓存选项改为以proxy_开头,fastcgi_如下所示:

        fastcgi_cache_path /var/www/ma_cache levels=1:2 keys_zone=ma_cache:10m use_temp_path=off max_size=20g;
        fastcgi_cache ma_cache;
        fastcgi_cache_valid 720h;
        fastcgi_ignore_headers Set-Cookie;

相关内容