Nginx 反向代理并缓存及缓存清除技术
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' '$upstream_addr $upstream_status $request_time $upstream_response_time'; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log; server_tokens off; include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 64k; proxy_buffers 4 512k; proxy_busy_buffers_size 512k; proxy_temp_file_write_size 512k; proxy_temp_path /data/nginx/proxy_temp; proxy_cache_path /data/nginx/proxy_cache levels=1:2 keys_zone=cache_one:2000m inactive=3d max_size=500g; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; upstream go { server www.sdfymj.com:80 weight=4; #server 42.121.252.58:80 weight=4; } server { listen 192.168.55.133:80; #server_name www.sdfymj.com; access_log /var/log/nginx/go.access.log main; error_log /var/log/nginx/go.error.log error; location / { proxy_cache cache_one; #proxy_cache_valid 200 304 301 302 2h; #proxy_cache_valid any 2h; #expires 1d; add_header X-Cache $upstream_cache_status; proxy_pass http://go; proxy_cache_key $uri$is_args$args; } location ~ /purge(/.*) { allow 127.0.0.1; allow 192.168.55.0/24; deny all; proxy_cache_purge cache_one $1$is_args$args; } } }