/ 中存储网

Nginx服务器中设置反向代理的缓存

2014-04-08 14:33:01 来源:IT技术网
首先,配置nginx的主配置文件nginx.conf

http { 段中添加

    proxy_cache_path /var/nginx/proxy_temp levels=1:2 keys_zone=NAME:10m;

gzip顺手打开。

保存,新建虚拟主机配置文件,填入:

server {

listen 80;

server_name 网站域名;

proxy_temp_path /var/nginx/temp;

    if ($http_Cache_Control = "no-cache") {

       rewrite ^(.*)$ /purge$1 last;

}

location ~ /purge(/.*)

{

proxy_cache_purge NAME $host$1$is_args$args;

}

location / { 

    proxy_pass   http://后端域名/; 

    proxy_redirect off; 

    proxy_set_header Host $host; 

    proxy_cache NAME; 

proxy_cache_key $host$uri$is_args$args;

    proxy_cache_valid 200 302 1h; 

    proxy_cache_valid 301 1d; 

    proxy_cache_valid any 1m; 

}

}

注:proxy_cache_purge 需要 ngx_cache_purge 模块的支持。

http://labs.frickle.com/nginx_ngx_cache_purge/

编译nginx时需要将其编译进去:

./configure –user=nginx –group=nginx –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-ipv6 –with-http_sub_module –add-module=../ngx_cache_purge-1.3

ps. user和group以及purge版本请自己验证。

ps.2. 如果purge出404,一是检查cache_key,二是检查 purge 模块和 nginx 版本的对应关系。