ウェブ、ショウジン

WordPressにNginx Cache Controllerを導入

2012-5-22
Category
Server WordPress

nginxのリバースプロキシキャッシュを有効にしている場合に効果があるというWordPressのプラグイン「Nginx Cache Controller」を導入。

nginxでリバースプロキシキャッシュを有効にすると、キャッシュファイルをコントロールする必要があるらしく、それを可能にしてくれるのがこのプラグインらしい。

Nginx Cache Controller

ただnginxでリバースプロキシキャッシュを有効にするだけではキャッシュの期限が切れるまで投稿がWordPressに反映されなかったりするらしく、キャッシュを任意のタイミングで削除するとかのコントロールが必要になると。

そういったコントロールをWordPressの管理画面から実行したり、記事を投稿したらキャッシュを自動削除するといったことが可能になるらしい。

このへんは非常に疎いので、以下の記事を参考にさせてもらいました。

WordPress高速化ー「プラグイン編」「Nginx Cache Controller」で高速リバースプロキシキャッシュをコントロール

リバースプロキシキャッシュを有効化する

nginxの設定ファイルに以下の記述を追加する。

fastcgi_pass_header "X-Accel-Redirect";
fastcgi_pass_header "X-Accel-Expires";

設定ファイルは

/etc/nginx/nginx.conf

だけれども、自分はバーチャルホストで複数のサイトを運用しているので、それらサイトごとに分けた設定ファイル(nginx.confと同ディレクトリにあるsites-available内に作成)に追記した。

/etc/nginx/sites-available/mysite.com

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME Webドキュメントルートへのフルパス$fastcgi_script_name;
        fastcgi_pass_header "X-Accel-Redirect";
        fastcgi_pass_header "X-Accel-Expires";
    }

サーバの設定ファイルを変更したので、それを有効化するために設定ファイルを再読み込みする。以下のコマンドをコマンドラインで実行。

$ sudo service nginx reload

Nginx Cache Controllerをインストールして有効化

プラグインを以下からインストール。もしくはWordPress管理画面のプラグインからインストール。

Nginx Cache Controller

インストールするとWordPressの管理画面の左メニュー「ダッシュボード」の下あたりに「Nginx Cache」という項目が追加されるのでこれをクリックして設定画面へ。

nginx-cache-controller

設定画面で「キャッシュ削除の設定」という項目があるので、ここで「キャッシュ削除の有効化」の「Yes」をチェックして、ページ下部にある「保存」をクリック。とりあえずこれでいいらしい。(他の項目はデフォルトのままで)

以下の記事にこのプラグインについて簡単に説明がある。

笑けるほどエライPHP Ninjaのキャッシュコントロール

これを機会に、キャッシュコントロール系のプラグインを整理して、有効化しているものは以下のものだけにした。

・Nginx Cache Controller
・Head Cleaner
・MO Cache
・WP File Cache

無計画にとびついてしまったので導入前のベンチマークをとって導入後と比較もしてないし、本当に各設定(nginx側とかとくに)が正しくなされているのか不安。

近くあらためてベンチマークもとって、実際にどれくらい効果が出ているのか、間違った設定になっていないかを確認しなければ。

以下の記事にお世話になりました。ありがとうございます。

笑けるほどエライPHP Ninjaのキャッシュコントロール
WordPress高速化ー「プラグイン編」「Nginx Cache Controller」で高速リバースプロキシキャッシュをコントロール

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿