V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
cpublic
V2EX  ›  NGINX

为啥我 Nginx 下启用 fastcgi_cache 不生成缓存?

  •  1
     
  •   cpublic · 2017-08-06 14:39:46 +08:00 · 2769 次点击
    这是一个创建于 2666 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先说说我在 nginx.conf 里 http 里的配置,如下:

    fastcgi_cache_path /var/domain_cache levels=1:2 keys_zone=domain:100m inactive=1d max_size=5G;
    fastcgi_temp_path /var/cache_temp;
    fastcgi_cache_key "$scheme$request_method$host$request_uri"; #定义哪些情况下用过期缓存
    fastcgi_cache_use_stale error timeout invalid_header http_500 http_503 updating;
    fastcgi_ignore_headers Cache-Control Expires Set-Cookie Vary;
    然后是我的域名 myhost.conf 文件内的 Fastcgi_cache 有关配置,如下:

    set $skip_cache 0;

    if ($request_method = POST) {
    set $skip_cache 1;
    }

    if ($query_string != "") {
    set $skip_cache 1;
    }

    if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
    set $skip_cache 1;
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
    set $skip_cache 1;
    }


    location ~ [^/]\.php(/|$)
    {
    try_files $uri =404;
    fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;
    add_header X-Cache-Status $upstream_cache_status;
    add_header X-Cache "$upstream_cache_status From $host";
    fastcgi_cache domain;
    fastcgi_cache_valid 200 301 302 1d;
    }

    location ~ /purge(/.*) {
    allow 127.0.0.1;
    allow "111.112.113.114";
    deny all;
    fastcgi_cache_purge domain "$scheme$request_method$host$1";
    }

    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
    access_log off; log_not_found off; expires max;
    }

    location = /robots.txt { access_log off; log_not_found off; }
    location ~ /\. { deny all; access_log off; log_not_found off; }
    WordPress 里安装了 nginx-helper 插件,通过 tailf 命令查看这个插件生成的.log 文件一直是如下显示:

    https://segmentfault.com/img/bVSke7?w=284&h=231
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2697 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:12 · PVG 23:12 · LAX 07:12 · JFK 10:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.