monolithic kernel

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;
}
}