WordPress开启Nginx fastcgi_cache缓存加速

昨天下午没有太多事情,想起来一直想弄的nginx fastcgi_cache还没有弄,于是趁着重装景安服务器的功夫,顺便把这个玩意也搞搞,弄到晚上7点多,走了不少弯路,不过最后总算是搞定了。

方法步骤如下:

一、安装Nginx ngx_cache_purge模块

由于我使用的是oneinstack面板,所以以下的步骤都以此为基础,其他比如lnmp没有试过,可能需要微调一下。

# nginx -V 2>&1 | grep -o ngx_cache_purge 查看ngx_cache_purge是否安装,没有数据表示未安装 cd /root/oneinstack/src wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar xzf ngx_cache_purge-2.3.tar.gz #以下几个安装包都是Oneinstack自带的,不同的版本可能会不同,请根据情况调整 tar xzf nginx-1.16.1.tar.gz tar xzf pcre-8.43.tar.gz tar xzf openssl-1.1.1c.tar.gz cd /root/oneinstack/src/nginx-1.16.1 nginx -V #查看nginx编译参数,最后加上--add-module=../ngx_cache_purge-2.3 ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2o --with-pcre=../pcre-8.42 --with-pcre-jit --with-ld-opt=-ljemalloc --add-module=../ngx_cache_purge-2.3 make #编译 mv /usr/local/nginx/sbin/nginx{,_`date +%F`} #备份nginx cp objs/nginx /usr/local/nginx/sbin nginx -V 2>&1 | grep -o ngx_cache_purge # 显示ngx_cache_purge表示已经安装成功、

使用Nginx -V查看编译参数添加add-module时,一定要根据你自己的Nginx的编译参数来操作,也就是说保留原来的Nginx参数再加上add-module。例如我的:

二、Nginx开启fastcgi_cache缓存-配置实例

这里我直接贴出我的www.yanjingweb.cn的配置实例

fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=1G; 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; #忽略一切nocache申明,避免不缓存伪静态等fastcgi_ignore_headers Cache-Control Expires Set-Cookie;server { listen 80; listen 443 ssl http2 此处略 set $skip_cache ; #post访问不缓存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/|index.php|sitemap(_index)?.xml") { set $skip_cache 1; } #对登录用户、评论过的用户不展示缓存if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } #这里请参考你网站之前的配置,特别是sock的路径,弄错了就502了!location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000;fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #新增的缓存规则fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; add_header X-Cache "$upstream_cache_status From $host"; add_header Cache-Control max-age=; add_header Nginx-Cache "$upstream_cache_status"; add_header Last-Modified $date_gmt; add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型add_header X-XSS-Protection "1; mode=block"; # XSS 保护etag on; fastcgi_cache WORDPRESS; fastcgi_cache_valid 200 301 302 1d; } #缓存清理配置(可选)location ~ /purge( /.*) { #为防止转义,请去掉{ /之间的空格allow 127.0.0.1; #此处填写你的服务器IPallow 122.115.122.111; deny all; #请注意此处的WORDPRESS要与上面的keys_zone保持一致fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; }

以下略

至此,全部设置结束,nginx -t 检查以下nginx。然后重新启动一下nginx。service nginx restart

用浏览器打开一个网页,F5刷新几下,看看浏览器的head,就能看到nginx_cache hit字样,说明缓存成功了。然后看缓存文件夹了,也有了一堆的文件。

最后,说一下

开通这个之后,确实打开网页的速度快了不少,在不用CDN的前提下,网页也能秒开了,有动手能力的同学不妨一试。

Read more

风动,幡动还是心动

风动,幡动还是心动

读南怀瑾先生的《禅宗和道家》,读到“风动、幡动、心动”这个典故(佛家称为公案)时,我的思绪回到了过去。 记得第一次读到这个公案,大概是在初中的政治课本上。故事是这样的: 唐代仪凤元年(676年),慧能大师在广州法性寺(今光孝寺)听印宗法师讲《涅槃经》。一阵风吹来,寺中的幡旗随风摇曳,引发了两位僧人的争论。一位僧人说:“是风在动。”另一位坚持:“是幡在动。”两人争执不下,慧能大师便上前说道:“不是风动,也不是幡动,是仁者的心在动。” 当时读到这里,我心想古人真傻,这看似很有哲理,实则是对自然现象缺乏了解,根本就是一种空气流动罢了,和风、幡、心都毫无关系。甚至到了大学,我和信奉佛教的父母聊起这个公案时,依旧是以嘲弄的口吻,当时还试图用这个典故让他们“回头”。 随着年龄增长,读书和见识也多了,才发现当初的小丑恰恰是我自己。 这哪是古人没有见识,分明是我的认知高度不够,没有达到那个层次,

By laoliu
金钱心理学:财富、人性和幸福的永恒真相

金钱心理学:财富、人性和幸福的永恒真相

我曾以为,理财是一个很复杂的东西,股票、基金、保险等等,充满了复杂的公式和博弈。所以,对理财这方面一直抱着敬而远之的态度,只会挑选一些风险小的项目。也曾在股市上投入了一些,但每次都赶不上节奏,所以慢慢的这方面的心思也就淡了。 前几天偶尔在微信读书上看到了摩根·豪泽尔的《金钱心理学:财富、人性和幸福的永恒真相》这本书,才发现原来理财也可以是这么简单的一件事情,但简单的事情,往往也是最不容易做到的事情。 我们很多人都会大精力花在寻找下一个“暴富”的机会上,希望能一击即中,实现财务自由,其实这是很不现实的东西。这本书没有教我们如何赚钱,而是教我们如何守财。 这听起来似乎现在主流的消费观向左,但我认为却触及了财富的本质,特别是当下这个大环境中,守财才是更重要的。书中虽然用了大量的例子,但给我印象最深,也是颠覆我原来概念的一个例子是:地球的冰河期并非由某个特别寒冷的冬天造成,而是因为无数个凉爽的夏天。那些看似不够热的夏天,导致上一年的冰雪没有完全融化,日积月累,最终形成了巨大的冰川。我一直以为,冰河期的形成,是突变的,是哗啦一下子,地球被冻上了。 作者用这个例子来说明,真正的财富积累,靠

By laoliu
曼联再次输球

曼联再次输球

不出所料,曼联又输了,输给了同城死敌曼城,这结果一点都不让人感到意外,所以也就没有了什么不好的情绪。如今的曼联,用“每况愈下”这个词来形容,简直再贴切不过了。 每年夏天,曼联都像个豪气的冤大头,挥舞着钞票在转会市场上一掷千金。买回来的球员的表现确都不如预期。今年,他们终于改变了买人的策略,不再只盯着那些潜力新人,而是把钱砸向了联赛中的“即战力”。即战力来是来了,但是花费了2亿英镑买的即战力,也不会进球了。 机会是有,但球就是不进。据统计,开赛以来曼联的射门次数达到了68次,英超各队第一;但是进球才进了4个,还有两个乌龙球。 然而反观那些曾经在曼联被嫌弃、被放弃的球员,在别的球队却像是被施了魔法,个个大放异彩。你看看这份名单: * 拉什福德:本场比赛一个助攻,曾经的“曼联太子”在巴塞罗那找到春天。 * 霍伊伦:打进了一个球,那个在曼联被诟病“不会跑位”的前锋,跑位变得无比机敏,射门也准了。 * 加纳乔:送出助攻,天赋在别队彻底兑现。 * 麦克托米奈:

By laoliu
解决腾讯 EdgeOne 域名解析与 SSL 证书申请失败问题

解决腾讯 EdgeOne 域名解析与 SSL 证书申请失败问题

前几个月,我关注到腾讯新推出的 EdgeOne 服务。这款产品无需备案和实名,而且提供免费额度,对于个人网站来说非常友好。刚发布时兑换码一码难求,我并没有太多关注。后来,腾讯推出了一个活动,只要在 X(原 Twitter)上转发推文,就能获得两个兑换码。我成功领取并兑换了一个,并将其用于我的“镜缘轩”网站。 我的“镜缘轩”网站部署在 CloudCone 的 VPS 上,访问速度一直不尽如人意。接入 EdgeOne 后,网站速度有了显著提升,这让我决定将我的博客也套上这个服务。 域名解析遇到的第一个问题:CNAME 扁平化 在将博客主域名iliu.org 通过 CNAME 解析到 EdgeOne 提供的地址后,我发现 EdgeOne 无法识别解析成功。奇怪的是,“镜缘轩”网站的解析过程却非常顺利。

By laoliu