Nginx Web 缓存服务
只能为指定URL或状态码设置过期时间,不支持类似Squid的PURGE指令手动清除缓存;但是我们可以通过Nginx的模块ngx_cache_purge清除指定URL的缓存。
proxy_cache
缓存后端服务器的内容,可能是任何内容,包括静态的和动态,减少了nginx与后端通信的次数,节省了传输时间和后端宽带
https://www.cnblogs.com/redirect/p/10066766.html
fastcgi_cache
缓存fastcgi生成的内容,很多情况是php生成的动态的内容,少了nginx与php的通信的次数,更减轻了php和数据库(mysql)的压力,这比用memcached之类的缓存要轻松得多。
https://www.cnblogs.com/chenpingzhao/p/4983703.html
https://www.shephe.com/tutorial/wordpress-nginx-fastcgi-cache/
Nginx 配置
http
# Context:http,fastcgi_cache start. fastcgi_cache_path C:/tmp/nginx-cache/y.z levels=1:2 keys_zone=y.z:100m inactive=1d max_size=1G; #如果有多个站点,复制行,改path与keys_zone中的y.z fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; # Context:http,fastcgi_cache end.
server
# Context:server,fastcgi_cache start. set $skip_cache 0; # 缓存策略指示变量,0为启用,1为禁用 if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") { # wordpress 后台 set $skip_cache 1; } if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { # wordpress 登录用户或发表评论者 set $skip_cache 1; } # Context:server,fastcgi_cache end.
location
# Context:location,一般是【~ \.php$】,fastcgi_cache start. fastcgi_cache y.z; # 在http中定义的keyzone值,y.z fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; fastcgi_cache_valid 200 10m; # 后端返回成功的情况下缓存10分钟 add_header X-Cache $upstream_cache_status; # 调试使用:添加header字段,指示缓存命中状态;MISS:缓存未命中,HIT:缓存命中,BYPASS:规则排除的不缓存 # Context:location,fastcgi_cache end.
WordPress配置
- 在 wp-config.php 中添加:define( 'RT_WP_NGINX_HELPER_CACHE_PATH','C:/tmp/nginx-cache/y.z');
- 安装 Nginx Helper 插件,在Windows环境里,只能使用 Delete local server cache files 方式。
Q 说:
欢迎转载,但请注明内容的来源或URL;
“[转]”篇章,必须保留原始来源且勿添加本blog指向。
欢迎转载,但请注明内容的来源或URL;
“[转]”篇章,必须保留原始来源且勿添加本blog指向。