Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在nginx(ubuntu16.04)上配置基本的FastCGI缓存_Php_Ubuntu_Caching_Nginx_Fastcgi - Fatal编程技术网

Php 如何在nginx(ubuntu16.04)上配置基本的FastCGI缓存

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

我正试图让基本的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 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;
    }
}