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

十五年后:一个家庭的沉沦与命运的回音

十五年后:一个家庭的沉沦与命运的回音

十五年前,我写下《郁闷,这个世界还有这样无耻之人》这篇文章时,内心翻滚的不是小事的愤怒,而是对底线被践踏的失望。邻居从我家拉电线充电,还一副理所当然的样子,最后竟连我家的充电器都“借用”。甚至因为我给他写了纸条,还想打我。当时我说:“这个世界还有这样无耻之人”,只是没想到,十五年后再听到他们家的消息,竟是一出更荒诞的悲剧。 那家的男人已经去世。留下两个老婆争房产,最后还是他儿子获得了这套回迁房。他的儿子大学毕业了,却像一艘没有舵的船,一路磕磕绊绊: 交房一年来,看他儿子在业主群里抱怨,被电梯夹了不止一次,骑车进地下室摔过多回,车轮卡在道缝中,正常走路还能摔个仰八叉。毕业后没有工作,前不久小区换物业的时候,经介绍在小区做监控员,不服从管理员的管理(其实也是小事,人家让他把桌子上保持整洁,他就是不听,弄的乱七八糟的),和物业经理骂了一架,被辞退。邻里原想通融一二,以他母亲那无理取闹的性格,当然是又去物业把物业经理骂了一顿,结果也就那样了。 前几天偶尔和一个邻居聊起他家的情况,那个邻居说,他要打你那不是基本操作嘛,人早年曾在派出所拿刀扎他自己母亲,打你都是轻的😅。如今看来,

By 老刘
天上有雨,未落人间——说说《需卦》

天上有雨,未落人间——说说《需卦》

《易经》六十四卦中,《需卦》排在第五。 前面几卦,乾坤是天地之本,屯是起步之难,蒙是启蒙之初,到了第五卦——《需》——天地间万象已动,人也有所思、有所欲,但偏偏,这一步还不能迈出去。 需,有孚,光亨,贞吉,利涉大川。 等,不是停,是蓄。 卦象:天上有云,水未落 需卦的卦象是:上坎(☵,水)下乾(☰,天)。 水在天上,正是积雨之象。我们站在地上,仰望天空,望着那片厚厚的云,知道它迟早会落雨,但此时此刻,还未滴下哪怕一丝甘露。 这就叫“需”。 你知道目标在前,力量也已在身,但时机未到,不能躁进。 用现在的话说就是:“你已经准备好了,但世界还没准备好接住你。” 这不是消极,而是一种审时度势的智慧。

By 老刘
小米SU7又出事了,我们到底该怪谁?

小米SU7又出事了,我们到底该怪谁?

6月11日晚上,郑州街头,一辆小米SU7失控连撞十几辆车——电动车、小轿车都没躲过,车头几乎报废,现场一度混乱不堪。更早之前,安徽那起SU7高速起火致三人死亡的事故也还没从大家脑海中淡去。 姑且不说到底是不是智能驾驶的原因, 也有很多它的粉丝说比亚迪出事多少多少,归根到底还都是电车的问题,那么电车怎么老出事? 是车太猛?人太嫩?还是对“智能驾驶”理解太美好? 动力太猛,新手真心顶不住 先说车。SU7有多猛?顶配版零百加速2秒多,马力直接干到1000匹以上,这种性能放在燃油车里,那就是超跑级别。 但问题是,买它的大多是年轻人,很多是人生第一辆车,甚至有的刚拿驾照没多久。这种“猛兽”配“新司机”的组合,说实话,确实危险系数高。一脚电门下去,车先冲出去了,人还没反应过来。 郑州这次的女司机,就是刚提车不久。车一失控,根本刹不住。不是她不会开,而是这车给新手的容错空间实在太小了。 智能驾驶不是“放手驾驶” 再说智能驾驶。小米宣传的NOA、

By 老刘
站在新高考的起点:对两年后女儿的期许

站在新高考的起点:对两年后女儿的期许

2025年的高考今天落幕,这是“3+1+2”模式全面实施的第一年。从改革到首考,从认知到实践,这不仅是对学生能力的测量,更是一种教育方向的宣示。 作为家长,我对这次高考有三点深刻感受: 一、语文卷:不再“刷题”,更考“立志与思辨” 今年全国卷一作文聚焦“民族魂”,从老舍、艾青、穆旦的文字中引导学生理解爱国情怀的不同方式 。考题不仅强调情感共鸣,也要求结构逻辑清晰,表达真诚、语言自然流畅 。 这道作文开放而不空洞:任何有生活、有思考的学生,都能找到表达路径;但能够精准逻辑、有独立见解,并融入素材,便是真高分。 这使我明白,真正的语文能力,不在于套路,而在于“你是谁”——有温度、有思想、有立场。 二、历史题:文言与史料,强调跨学科理解 今年历史全国卷大量使用文言史料,并引导学生依据不同角度进行对比、评析与判断

By 老刘