Nginx配置多站点下如何设置Fastcgi_cache缓存加速?

前面博客刚分享过很多关于给wordpress网站做Nginx缓存加速的教程,自己也是不断的在摸索,追求最佳的网站静态缓存加速方案。

宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速=>点此直达

Nginx配置多站点下如何设置Fastcgi_cache缓存加速?

Nginx配置多站点下如何设置Fastcgi_cache缓存加速?

记录分享了 Nginx 的 Fastcgi 缓存之后,在我给第二个站配置缓存的时候就出现了问题,马上就网上找到教程修复完成在多站点下配置 Nginx Fastcgi。经过参考张戈的教程,最终试出了多站点下的 Fastcgi 缓存配置,下面简单记录分享下。

一、部署 http 模块

下面分别讲下单站点和多站点的配置对比:

①、单个站点

单个站点上篇文章已经分享过了,在 http 模块内加入如下配置即可:

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 缓存时,以上配置就不行了,会报错、也有可能会多个网站之间链接错乱。经过测试,修改如下即可:

②、多个站点

#站点 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 模块就很简单了!只要在不同的站点的 php 模块下插入不同的 fastcgi 缓存配置即可,其实就是 key_zone 的区别而已。

比如,我同时给古风博客和中国博客联盟 2 个站点的配置如下:

wzxiu.com博客:

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 wzxiu.com;
                fastcgi_cache_valid 200 301 302 1d;
        }
#其他配置略
}

xiu.com博客:

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 xiu.com;
                fastcgi_cache_valid 200 301 302 1d;
        }
#以下配置略
}

其实就是和 http 模块内定义的缓存一 一对应而已,这样才能区分开来啊!否则就会报错。

宝塔面板用Nginx openresty+Redis Cache+Memcached缓存提速网站!

上一篇

英特尔宣布加入 PyTorch 基金会:共同助力 AI 发展!

下一篇

99%的人还看了

发表评论

插入图片

欢迎登陆本站

 | 注册

必应搜索 站长推荐

在线工具

VIP视频解析

衡天云优质VPS 站长推荐

注册

登录

忘记密码 ?