Nginx配置多站点下的Proxy_cache或Fastcgi_cache缓存加速

张戈博客分享过很多关于缓存加速的教程,自己也是不断的在摸索,追求最佳的网站静态缓存加速方案。在这里简单的总结一下:

1、使用虚拟主机的朋友推荐使用缓存插件或php 代码版缓存方案=>点此直达

2、使用独立主机的朋友推荐使用Nginx的Fastcgi纯静态缓存方案=>点此直达

Nginx配置多站点下的Proxy_cache或Fastcgi_cache缓存加速

在我分享了Nginx的Fastcgi缓存之后,有不少朋友已折腾成功。不过有朋友反馈,不知道在多站点下如何配置Nginx Fastcgi。而所有网上分享的方案都是单个站点的,我本以为多站点的直接在 php 的 location模块中插入fastcgi缓存配置就好了,结果发现会报错,提示缓存空间已被使用。

经过张戈轮番测试,最终试出了多站点下的Fastcgi缓存配置,下面简单分享下。

一、部署http模块

①、单个站点

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

②、多个站点

当要给多个站点开启fastcgi缓存时,以上配置就不行了,会报错。经过测试,修改如下即可:

二、部署server模块

配置好了http模块之后,server模块就很简单了!

只要在不同的站点的php模块下插入不同的fastcgi缓存配置即可,其实就是key_zone的区别而已。

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

张戈博客:

中国博客联盟:

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

三、Proxy_cache缓存

分享了多站点的fastcgi缓存配置,顺带也分享一下Proxy_cache的多站点缓存配置好了。免得某些朋友不会依葫芦画瓢。。。

其实,我也没实际测试,但是依此类推应该如下配置即可,有需求的测试一番就知道了:

①、http模块

②、server模块

至于server模块应该就不用跟上面介绍的那样详细了吧!不同站点只是 proxy_cache 这个配置不一样而已!比如:

站点1配置

站点2配置:

Ps:可能有人又要问了,这配置是放到哪的啊?唉,就这样您还瞎折腾啥呢?老老实实写文章吧!

哦了,看懂以上配置,随便部署多少站点的fastcgi或proxy缓存都不用愁了!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:18   其中:访客  14   博主  4

  1. bookcase 0 来自天朝的朋友 谷歌浏览器 Windows 7 陕西省西安市 电信

    看不懂,不过还是先抢个沙发再说

  2. 灯塔云 0 来自天朝的朋友 谷歌浏览器 Windows 7 四川省达州市 电信

    老大,你网站的图片水印是用的哪个插件?看你博客的第一张图片并没有水印。

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 湖南省长沙市 电信

      大侠的:dx-watermark

  3. god 4 来自天朝的朋友 谷歌浏览器 Windows 7 陕西省渭南市 电信

    这个好,马上可以用上了, 但是多站点要清理缓存有办法没

    • god 4 来自天朝的朋友 谷歌浏览器 Windows 7 陕西省渭南市 电信

      只能手动删除吗

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 4.4.4 M463C Build/KTU84P 湖南省长沙市 联通

      缓存存放在不同的路径,和单个的清理没啥区别。

  4. 安安博客 0 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信

    网站还是那样出众

  5. 护理街 0 来自天朝的朋友 谷歌浏览器 Windows 7 陕西省西安市 联通

    欢迎大侠对我的站提点意见哦

  6. 男生女生银版 4 来自天朝的朋友 搜狗浏览器 Windows 7 广东省广州市 电信

    wp-config.php里的那个路径也要改对吧?

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 4.4.4 M463C Build/KTU84P 云南省昆明市 联通

      是的,回头我更新下。

  7. 微页网站分类目录 2 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省台州市椒江区 电信

    不错,收藏了先!

  8. 金选网赚 1 来自天朝的朋友 谷歌浏览器 Windows XP 山东省聊城市 联通

    多谢分享啊

  9. deson 2 来自天朝的朋友 谷歌浏览器 Windows 10 广东省深圳市龙岗区 电信

    请教 #站点1缓存配置
    fastcgi_cache_path /tmp/zhangge_cache levels=1:2 keys_zone=zhangge.net:384m inactive=1d max_size=5G;
    #站点2缓存配置
    #如果要开启更多站点缓存,请继续增加,注意每个站点的 缓存路径 和 keys_zone 要自定义区分一下
    #Ps:代码中的参数都只是范例,实际使用请根据服务器配置自行修改
    fastcgi_cache_path /tmp/zgboke_cache levels=1:2 keys_zone=zgboke.com:384m inactive=1d max_size=5G;
    这段是不是加在nginx.conf里的http下面,我加上去nginx启动不了。。。单站点没问题 key_zone指定的也正确。。。确定不是我vhost的service段配置,因为我删除单个站点的conf配置也启动不了nginx,求教谢谢。

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 5.1.1 Redmi Note 3 Build/LMY47V 广东省广州市 电信

      看启动报错信息就知道了

  10. 技术宅 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省南京市 电信

    张戈大大,我按照教程给其他站点添加 提示Starting nginx: nginx: [emerg] “fastcgi_cache_key” directive is duplicate in /usr/local/nginx/conf/vhost/www.test.com.conf:2 指令重复, 这个:fastcgi_cache_key “$scheme$request_method$host$request_uri”;

    • 技术宅 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省南京市 电信

      是不是可以把重复的指令直接放到/usr/local/nginx/conf/nginx.conf

  11. 明月登楼 5 来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 电信

    哈哈,搞定了,http的要加到nginx.conf里的,Sever里填加到站点的conf里!

  12. 柯善康 0 来自天朝的朋友 谷歌浏览器 Windows 10 江西省南昌市 电信

    博主,配置完重启之后,Header没有X-Cache怎么办?刷新了很久

加载中,请稍候...