前面博客刚分享过很多关于给wordpress网站做Nginx缓存加速的教程,自己也是不断的在摸索,追求最佳的网站静态缓存加速方案。文章源自黄强博客-https://huangqiang.me/352.html
宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速=>点此直达文章源自黄强博客-https://huangqiang.me/352.html
文章源自黄强博客-https://huangqiang.me/352.html
文章源自黄强博客-https://huangqiang.me/352.html
记录分享了 Nginx 的 Fastcgi 缓存之后,在我给第二个站配置缓存的时候就出现了问题,马上就网上找到教程修复完成在多站点下配置 Nginx Fastcgi。文章源自黄强博客-https://huangqiang.me/352.html
经过参考张戈的教程,最终试出了多站点下的 Fastcgi 缓存配置,下面简单记录分享下。文章源自黄强博客-https://huangqiang.me/352.html
一、部署 http 模块
下面分别讲下单站点和多站点的配置对比:文章源自黄强博客-https://huangqiang.me/352.html
①、单个站点
单个站点上篇文章已经分享过了,在 http 模块内加入如下配置即可:文章源自黄强博客-https://huangqiang.me/352.html
fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:150m inactive=31d max_size=10G; fastcgi_temp_path /tmp/wpcache/temp; 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;
当要给多个站点开启 fastcgi 缓存时,以上配置就不行了,会报错、也有可能会多个网站之间链接错乱。文章源自黄强博客-https://huangqiang.me/352.html
经过测试,修改如下即可:文章源自黄强博客-https://huangqiang.me/352.html
②、多个站点
#站点 1 缓存配置 fastcgi_cache_path /tmp/qiang_cache levels=1:2 keys_zone=qiang.com:384m inactive=1d max_size=5G; #站点 2 缓存配置 #如果要开启更多站点缓存,请继续增加,注意每个站点的 缓存路径 和 keys_zone 要自定义区分一下 #Ps:代码中的参数都只是范例,实际使用请根据服务器配置自行修改 fastcgi_cache_path /tmp/bigqiang_cache levels=1:2 keys_zone=bigqiang.com:384m inactive=1d max_size=5G; #其他配置可以不变 fastcgi_temp_path /tmp/temp_cache; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500;
二、部署 server 模块
配置好了 http 模块之后,server 模块就很简单了!文章源自黄强博客-https://huangqiang.me/352.html
只要在不同的站点的 php 模块下插入不同的 fastcgi 缓存配置即可,其实就是 key_zone 的区别而已。文章源自黄强博客-https://huangqiang.me/352.html
比如,我同时给张戈博客和中国博客联盟 2 个站点的配置如下:文章源自黄强博客-https://huangqiang.me/352.html
qiang.com博客:文章源自黄强博客-https://huangqiang.me/352.html
server( #其他配置略 location ~ [^/].php(/|$) { try_files $uri =404; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; #fastcgi 缓存配置 fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; add_header X-Cache "$upstream_cache_status From $host"; fastcgi_cache qiang.com; fastcgi_cache_valid 200 301 302 1d; } #其他配置略 }
bigqiang.com博客:文章源自黄强博客-https://huangqiang.me/352.html
server( #以上配置略 location ~ [^/].php(/|$) { try_files $uri =404; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; #fastcgi 缓存配置 fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; add_header X-Cache "$upstream_cache_status From $host"; fastcgi_cache bigqiang.com; fastcgi_cache_valid 200 301 302 1d; } #以下配置略 }
其实就是和 http 模块内定义的缓存一 一对应而已,这样才能区分开来啊!否则就会报错。文章源自黄强博客-https://huangqiang.me/352.html
评论