毎日モザイク

White Room Layout Works

2014-04-12T17:15:13+09:00 [Sat]

んぎなんとかでreverse proxy 3

キャッシュは全消しでいい気がしてきた。

wordpressに新規投稿すると、pagedで区切られた投稿表示ページが全部ズレる。

だから、index.php/\?*のキャッシュを消すのは必須で、それと投稿ページのpermalinkだけ消すのが正しい道。

面倒なのは、添付した画像。

こっちは、wordpress上で消したとしても、キャッシュの有効期限までは残ってしまう。

これもプラグインで特定して個別に消した方がキャッシュの効率はいい。

更新頻度が高く、アクセス数も膨大なら個別に消すほうがいいんでしょうが、ノーマルのnginxで投稿時にキャッシュを消すなら、単純なプラグインで全消しも悪くないかな。

<?php
/*
Plugin Name: Nginx Proxy Cache remove
Plugin URI: 
Description: remove Nginx Proxy Cache.
Version: 0.0.1
Author: yoshiaki nanba
Author URI: http://www.white-room.jp
*/

function wpremove_nxcache($post_id) {
/* $post_idはキャッシュ特定の日が来るまで飾り */
    $cmd = 'rm -rf /var/cache/nginx/whiteroom/*'; /* 俺環超決め打ち */
    exec($cmd, $arr, $res);
/* 以下、投稿時に成功、失敗をダッシュボードに返す日が来るまで飾り */
    if ($res === 0) {
        return true;
    } else {
        return false;
    }

}

add_action('publish_post', 'wpremove_nxcache'); /* 投稿を公開 */
add_action('publish_page', 'wpremove_nxcache'); /* 固定ページを公開 */
add_action('publish_to_draft','wpremove_nxcache'); /* 公開していたものを下書きに戻す */
add_action('edit_comment','wpremove_nxcache'); /* コメントが追加削除変更された */

?>