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に限定。ログイン中は除外
携帯やスマホだと表示がかわるのでこのままだとちゃんとキャッシュされないからそういうのも除外する必要あるね。

引き続きサーバーの設定

相変わらずpostfix + dovecot with mysqlでアカウントの設定はpostfixadminといういつもどおりの味付け。
ここもTLSでの接続はLet’s Encryptを使ってValidな無料証明書を導入。
Digital OceanはIPv6がついてるのでAAAAレコードなんかも追加したり。
余裕ができたら備忘録代わりに構築メモを書こう。

Digital Ocean

ずっと会社のサーバーを間借りしてたんだけど、流石に契約もしてないのにリソースを使うのもあれなので、Digital Oceanの一番安いサーバーを借りてそっちにせっせこ移動中。
あとはメールを移動すれば一段落という感じ。
webサービスは
nginx + php7-fpm + mariadb10.1というまあありがちな設定でございます。
OSはubuntu14.04、16.04が発表されたらアップグレードするかな。