Nginx Cache ControllerでReverse Proxy+cacheサーバーのデータの削除
-
皆様
こんばんは
いつもご指導ありがとうございます現在、下記のような構成でwordpressのサイトを構築しています
構成
Internet→Nginx(Reverse Proxy+cache)→Nginx+PHP-FPM(wordpress)上記構成で問題となったのが、バックエンドのNginx+PHP-FPM(wordpress)に新規投稿、コメント追加、投稿の削除等の操作をしたときにNginx(Reverse Proxy+cache)に即時にバックエンドのNginx+PHP-FPM(wordpress)の情報が反映されず、古い情報がクライアントに返信されることでした
この問題を解決するにあたり、Nginx Cache Controlleのアクションフックを利用する事で解決出来るという情報と指導を頂きました
参照をさせて頂いた情報は下記のサイトです
サイト
http://networkedblogs.com/BCA45上記のサイトを参考にしてNginx Cache Controllerのプラグインをinstallしてnginx-champuru.phpに対して、下記のfunctionを追加しました
追加したfunction
function nginx_flush_cache( $url ) {
$log_file = ‘/tmp/nginx_flush_cache.log’;
if ( !$url )
return;
$response = wp_remote_get(‘http://my-url/purge/’);
if( !is_wp_error( $response ) && $response[“response”][“code”] === 200 ) {
file_put_contents($log_file, “my-url : {$url}\n”, FILE_APPEND);
} else {
file_put_contents($log_file, “my-url\n”, FILE_APPEND);
}
}
add_action(‘nginxchampuru_flush_cache’, ‘nginx_flush_cache’);この状態で新規の記事の投稿やコメントをしたときにはNginx(Reverse Proxy+cache)のcache情報がpurgeされて最新の情報がクライアントの返答されます
しかし、記事の削除をしたときにはNginx(Reverse Proxy+cache)のcache情報がpurgeされず、古い情報がクライアントに返答をされてしまいます
記事を削除したときにもこのfunctionでNginx(Reverse Proxy+cache)のcache情報がpurgeされる用にするにはどの様にすれば良いか良いアイデアはございませんでしょうか
ご指導よろしくお願い申し上げます。
- トピック「Nginx Cache ControllerでReverse Proxy+cacheサーバーのデータの削除」には新たに返信することはできません。