我正在将 Nginx 设置为在 Ubuntu 18.04 上通过 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
一定有什么我误解或只是愚蠢的事情。我希望有人能指出我正确的方向。
由于我们没有使用 Nginx 作为代理,而是作为网络服务器本身,因此配置选项与文档相比有所不同。以 开头的缓存选项
proxy_
改为以fastcgi_
如下开头: