+
95
-

回答

例子如下

worker_processes  1;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

client_body_buffer_size 512k;
proxy_connect_timeout 10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache_n/temp; //这个是临时缓存文件存放的路径
proxy_cache_path /home/cache_n levels=1:2 keys_zone=content:20m inactive=1d max_size=100m; //这个路径是最终真实文件的缓存路径
keepalive_timeout 65;
server {
listen 80;
server_name localhost;

location / {
proxy_cache content;
proxy_cache_valid 200 302 304 206 24h;//你要缓存的http状态码和它们的缓存时间
proxy_cache_valid any 1d;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_key $host$uri$is_args$args;//缓存文件的命名规则
proxy_pass http://192.168.0.1:90;
}

location ~ /pure(/.*) {//这个location主要就是把url中带/pure/的链接筛选出来,然后执行我们刚才安装的那个第三方清理缓存的模块。
allow 192.0.0.0/24;
deny all;
proxy_cache_purge content $host$host$1$is_args$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}


网友回复

我知道答案,我要回答