monoの開発ブログ

nginxでコンテンツをキャッシュするメモ

前回Varnishで行ったのと同じキャッシュをnginxで行うメモ。purgeが厄介だったのでボツになりましたが、用途によってはこちらで十分かもしれません。

proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache-space:4m max_size=50m inactive=120m;proxy_temp_path /path/to/tmp;server {  # 携帯電話からのアクセスの場合trueになる  set $mobile false;  if ($http_user_agent ~* "DoCoMo|KDDI|SoftBank|Vodafone") {    set $mobile true;  }  location / {    proxy_cache cache-space;    proxy_cache_key "$scheme$host$request_uri$mobile"; # キャッシュの識別子に携帯電話かどうかのフラグを含める    proxy_cache_valid 1h;    proxy_pass http://localhost:9000;  }}