相変わらずVPSネタです。
今回は自分用メモ。
Nginxプロシキキャッシュを使おうと思ったのですが、fastcgi cacheのほうが最近は目にするような気がしたのでこっちを使う事にしてセッティングしてみました。
Pleskなら簡単に導入出来るfastcgi cache
変更点は3か所位。
まずは
/etc/nginx/nginx.conf
の編集。
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=name:2m inactive=12h max_size=500m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500;
httpブロックにキャッシュ用のコードを書く。
保管場所は/var/runが良いって人がいたのでそこに。
vhostsにも入れてみたりしたけど戻した。
次はもし専用のディレクトリを作るならそれを作る。
上のままならnginx再起動で勝手に作られる。
次はplesk画面に入って対象のウェブスペースを選び
『nginx 追加ディレクティブ』
を編集
set $do_not_cache 0; if ($request_method = POST) { set $do_not_cache 1; } if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") { set $do_not_cache 1; } if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $do_not_cache 1; } fastcgi_cache name; fastcgi_cache_valid 200 302 1h; fastcgi_cache_bypass $do_not_cache; fastcgi_cache_valid 301 2h; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses 1; fastcgi_cache_use_stale error timeout invalid_header http_500; location = /robots.txt { access_log off; log_not_found off; }
wordpress用のコードも混ざってるけど、メモなので。
そして適用させればfastcgi_cacheが出来る。
とても簡単な事だったのに、中々理解できなくて一苦労。
というかpleskでやってる人がいないのか全くブログ等の情報が引っかからない。
引っかかるのはほぼコマンドな人達。
おかげで良く大凡は理解出来ました。
問題はパージ
キャッシュを作る事は出来たのですが、削除が出来ない・・・。
本当はプラグイン等を利用して投稿と共に削除したかったのですが、ほぼ機能せず。
ウェブスペース部分(vhost/ドメイン)に置いてパーミッション変更か所有者を変更すればプラグインで消せるモノも見つけたのだけれども、どうにもnginxが書き込むパーミッションを変更した状態で書き込ませられない。
ディレクトリの所有者をドメイン所有者にして、継承していけないものかとやってみたモノのそれも出来ない。
インフラ作りに詳しい方に教えて頂きたいトコロです。
なので長期間のキャッシュ保持は諦め上記のような1時間程度でキャッシュが切れるように設定して終了。
fastcgi_cacheで爆速
確かに早い。
このブログはfastcgi_cacheを使っているので、キャッシュが作られていればカナリ早い。
データベースへアクセス回数も減らせるので負荷も分散出来るという事。
ただ、ウチ程度のサイトで本当に必要だったかは謎です。
ちなみにwelcartはfastcgi_cache出来ません。
なので爆速にさせるにはサーバースペックそのものが必要な模様・・・
ではでは