WordpressプラグインのNginx Cache Controllerを入れてみました。
このときから当サイトはNginxで動作させているのですが、リバースプロクシのキャッシュは使っていませんでした。というのも、Nginxにキャッシュパージプラグインを入れてリビルドが必要で、既に動いてるサイトでやるのが面倒だなあと感じていたからです(あと、どうせこのサイトにはアクセスは殆ど無いようなものなので、やってもやらなくてもあまり変わらないかなとも思っていた)。
ですが、このNginx Cache ControllerというWordpressプラグインは、特にnginxには追加のプラグインを入れなくても、プラグインがキャッシュを適切に消してくれるようなので導入してみました。(まあ、/var/cache下にファイル作るだけだし、別にNginxにプラグイン入れる必要ないよなーとは思っていた。)
Nginx Cache Controllerのインストール
Wordpressへの導入は簡単で、プラグイン追加から「Nginx Cache Controller」で検索すればすぐ出てきます。
こんな感じで、結構細かく設定をいじれるようです。とりあえず、キャッシュされたページに更新日時のメタタグを埋める設定をしてみました。
nginxの設定
あとはnginxのconfをいじって、キャッシュをするように設定してあげます。その際、Nginx Cache Controllerのインストール方法のページに書いてあるとおり、pass_headerの値などをよしなに設定してあげます。
実際の僕のnginxのconfはこのようになりました。前回参考にさせていただいた、こちらの丸パクリ設定をベースに、必要ないWP-touchの設定などを削除し、Nginx Cache Controller用の設定を追加したものです。
効果
こちらで測ってみた。
導入前
導入後
倍くらい早くなっています。アクセスの少なくもともとそんなに遅くないこのサイトだとほとんど意味がありませんが、キャッシュが効いている場合PHPやMySQLへのアクセスがなくなるので、アクセス数が多いサイトだと結構な効果になるのではないでしょうか。
導入はとても簡単だし(特に面倒なnginxのリビルドが要らないのは大きい)、nginxでWordpressを運用してるならとりあえず使っとけな感じがします。