nginx + php-fpm + fastcgi_cache

そんなわけで、全然アクセスないんですが、せっかくなのでcacheさせてみることにした。

とはいってもnginxですでにphp-fpmで使ってたらそれほど設定の変更はなくて

/etc/nginx/conf.d/fastcgi_cache.conf

    fastcgi_buffer_size     8k;
    fastcgi_buffers         100 8k;
    fastcgi_cache_path      /var/run/nginx-cache levels=1:2 keys_zone=samai:15m inactive=7d max_size=1000m;
    fastcgi_temp_path       /var/cache/nginx/cache_temp 1 2;
    fastcgi_connect_timeout 60;
    fastcgi_read_timeout    90;
    fastcgi_send_timeout    60;
    fastcgi_cache_valid     200 2h;
    fastcgi_cache_valid     302 2h;
    fastcgi_cache_valid     301 4h;
    fastcgi_cache_valid     any 1m;
    fastcgi_cache_key       "$scheme$request_method$host$request_uri";
    fastcgi_cache_use_stale error timeout invalid_header http_500;

/etc/nginx/sites-available/blog.samai.net

        set $do_not_cache 0;
        fastcgi_cache_methods GET;
        if ($http_cookie ~ ^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$) {
                set $do_not_cache 1;
        }
        fastcgi_cache_bypass $do_not_cache;
        fastcgi_no_cache $do_not_cache;

        fastcgi_cache samai;

こんな感じ。
2016/02/26 fastcgi_cache_methodsってのがあったのでGET METHODに限定。ログイン中は除外
携帯やスマホだと表示がかわるのでこのままだとちゃんとキャッシュされないからそういうのも除外する必要あるね。