Php 如何在nginx(ubuntu16.04)上配置基本的FastCGI缓存
我正试图让基本的FastCGI缓存工作,但在完成以下操作后遇到了麻烦 在新安装的Ubuntu 16.04上,我运行了以下命令:Php 如何在nginx(ubuntu16.04)上配置基本的FastCGI缓存,php,ubuntu,caching,nginx,fastcgi,Php,Ubuntu,Caching,Nginx,Fastcgi,我正试图让基本的FastCGI缓存工作,但在完成以下操作后遇到了麻烦 在新安装的Ubuntu 16.04上,我运行了以下命令: apt-get update apt-get install -y nginx apt-get install -y php-fpm 然后我将/etc/nginx/sites available/default更改为: fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MYAPP:100m inactiv
apt-get update
apt-get install -y nginx
apt-get install -y php-fpm
然后我将/etc/nginx/sites available/default
更改为:
fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MYAPP:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include snippets/fastcgi-php.conf;
# fastcgi_cache MYAPP;
# fastcgi_cache_valid 200 60m;
}
}
在服务器文档根(/var/www/html
)中添加名为time.php
的文件后,包含以下内容:
然后在你的配置中
fastcgi_cache_path /var/cache/nginxfastcgi levels=1:2 keys_zone=fastcgicache:10m inactive=10m max_size=64m;
fastcgi_cache_key $scheme$request_method$host$request_uri;
fastcgi_cache_lock on;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_cache_valid 5m;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
server {
listen 80;
root **************;
index index.php index.html index.htm;
server_name *************;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
add_header X-Cache $upstream_cache_status;
fastcgi_cache fastcgicache;
}
}
你试过重新启动nginx吗/etc/init.d/nginx restartYes,我尝试了许多不同的配置(每次都重新启动),但都不起作用。
$ sudo mkdir -p /var/cache/nginxfastcgi
$ chown www-data: /var/cache/nginxfastcgi
fastcgi_cache_path /var/cache/nginxfastcgi levels=1:2 keys_zone=fastcgicache:10m inactive=10m max_size=64m;
fastcgi_cache_key $scheme$request_method$host$request_uri;
fastcgi_cache_lock on;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_cache_valid 5m;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
server {
listen 80;
root **************;
index index.php index.html index.htm;
server_name *************;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
add_header X-Cache $upstream_cache_status;
fastcgi_cache fastcgicache;
}
}