ロードバランサーのNginxにキャッシュさせる設定
ロードバランサーになっているNginxにキャッシュさせてバックエンドにあるサーバーに問い合わせないように設定したときの覚書。 環境: CentOS 6.6, nginx 1.6.2 サーバー構成はこんな感じ。 参考にしたサイト NGINX Content Caching | NGINX Nginx + WordPress proxy cache篇 | サーバーワークス エンジニアブログ 目次 キャッシュ機能を有効に 静的サイトはまるっとキャッシュ 動的サイトは一部分キャッシュ キャッシュを削除 1.キャッシュ機能を有効に nginx.confを編集して、 proxy_cache_path を追記する。 # cd /etc/nginx/ # vi nginx.conf http { # Proxy Cache proxy_cache_path /var/cache/nginx/cache_www levels=1 keys_zone=www:4m inactive=7d max_size=50m; proxy_cache_path /var/cache/nginx/cache_web levels=1 keys_zone=web:4m inactive=7d max_size=50m; } ゾーン名:www, web 保持期間:7日間 最大サイズ:50M 2.静的サイト用にまるっとキャッシュ 静的サイトは全てに対して1日キャッシュする設定にする。 デフォルトでPOSTはキャッシュしない。 proxy_cache_methods を設定すればPOSTもキャッシュすることが可能になる。 # vi conf.d/www.conf upstream webs { ip_hash; server web01.hoge.com; } server { listen 80; server_name www.hoge.com; # # Header # add_header X-Cache $upstream_cache_status; proxy_set_header X-Real-IP