としっぴーず

旅行やミュージカル、Wordpress等のITネタ中心のブログ

Nginx + fastcgi_cacheでWordPressをキャッシュする方法

   

Nginxのキャッシュは2種類ある

Nginxにはproxy cacheとfastcgi cacheと二つあります。Nginxをリバースプロキシとして利用している場合はproxy cacheを使って、webサーバーとして利用している(nginx上でwordpressが動作している)場合はfastcgi cacheを追加います。私は後者なのでfastcgi cacheを利用します。

環境

  • Nginx 1.8.0
  • WordPress 4.4.1

です。

設定作業開始

nginx.confのhttpディレクティブ内に以下を追加。

  • fastcgi_cache_path・・・キャッシュファイルを作成するパス。
    • levels・・・・・・・・キャッシュファイルの階層構造のレベルを定義。
    • keys_zone・・・・・・キー情報の名前とサイズ。名前は任意で良い。
    • max_size・・・・・・キャッシュファイルの最大サイズ。
    • inactive・・・・・・指定した時間アクセスがなかったらキャッシュ削除。
  • fastcgi_cache_use_stale・・・FastCGIサーバーがエラーを返した場合に、古いキャッシュでも返すエラーを指定。
  • fastcgi_ignore_headers・・・無視するヘッダー文字列。

続いてヴァーチャルホストの設定を変更します。

  • fastcgi_cache・・・・キー情報の名前を指定。
  • fastcgi_cache_key・・キャッシュファイルのキーのフォーマットを指定。
  • fastcgi_cache_valid・キャッシュの有効時間をステータスコード別で指定します。
  • fastcgi_cache_bypass・BYPASSさせる場合は1を指定します。
  • fastcgi_no_cache・・・キャッシュさせない場合は1を指定します。
  • add_header・・・・$upstream_cache_statusを出力してcacheが効いているか分かりやすくします。

どのようは場合にBYPASSさせるかは、下記サイトを参考にさせていただきました。

参考サイト

 

 - Nginx, WordPress