惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
V
V2EX
GbyAI
GbyAI
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
Y
Y Combinator Blog
C
Check Point Blog
爱范儿
爱范儿
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
美团技术团队
雷峰网
雷峰网
IT之家
IT之家
WordPress大学
WordPress大学
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
N
News and Events Feed by Topic
罗磊的独立博客
S
SegmentFault 最新的问题
S
Security Affairs
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
H
Hacker News: Front Page
Google DeepMind News
Google DeepMind News
B
Blog
O
OpenAI News
C
Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
The Last Watchdog
The Last Watchdog
Hacker News: Ask HN
Hacker News: Ask HN
博客园_首页
人人都是产品经理
人人都是产品经理
C
Cybersecurity and Infrastructure Security Agency CISA
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Help Net Security
Help Net Security
月光博客
月光博客
J
Java Code Geeks
L
LangChain Blog
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Apple Machine Learning Research
Apple Machine Learning Research
T
The Exploit Database - CXSecurity.com
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

齐物 on 老刘博客

Arch Linux 电源优化指南 Ubuntu 26.04 用了一个月 告别 PaperMod:审美疲劳后的 Hugo 博客“换装”记 Ubuntu25.10编译安装Ibus-libpinyin 博客托管平台换成edgeone pages 博客评论换回Giscus EndeavourOS + Btrfs + Snapper + GRUB:完整的快照回滚系统配置指南 把GotoSocial嵌入到Hugo 给Hugo PaperMod主题添加一个漂亮又简洁的友情链接页面 群晖NAS安装FRP客户端(frpc) Ubuntu24.04安装Windterm 从 Windows 到 Linux:重新体验的过程与心得 解决腾讯 EdgeOne 域名解析与 SSL 证书申请失败问题 折腾杀毒软件的一点感想 开箱|媳妇的华为 Watch Fit 4 Ghost 博客与 Mailgun 邮件服务申请全流程 Ubuntu部署ghost博客所踩的小坑 当GitHub二次验证丢失:我的完整恢复经历 在群晖里安装简单的笔记软件flatnotes 手机上有好用的输入法吗? 再次使用 KeepassXC进行密码管理 解决Windows11打开安全中心空白的方法 修汽车空调 给Hugo PaperMod增加giscus评论系统 2024年,高德地图和百度地图选哪个? 电视和投影仪,哪个对孩子的眼睛更好? 使用Fcitx5 for Android,读《万历十五年》 2024年 Web 开发趋势 利用cloudflare页面规则设置301永久跳转 初冬时节话镜片防雾 在群晖中使用tailscale实现内网穿透 EndeavourOS安装之后的几件事 Hugo-papermod主题的优化记录 视光周刊(第9期):年轻的时候近视,年老不花眼? 从WordPress转到Hugo 思源笔记群晖正确的部署方法 近视人群夏季佩戴太阳镜的几种方案 在manjaro中安装使用Rime并启用雾凇输入法 开始试用小狼毫输入法 使用群晖自动备份网站 manjaro安装配置fcitx5输入法 没有公网IP也能玩转群晖DDNS ubuntu20.10升级编译安装ibus-libpinyin输入法 电波表如何接收日本电波对时塔的信号 奇葩的京东无线宝 keepass加群辉实现数据同步及浏览器自动填充密码(二) zerotier加openwrt路由实现内网穿透控制群晖 打造一个安全的宝塔面板服务器环境 网易词典笔2.0简单开箱 给鱼缸上了沼泽过滤 破磨边机,早晚换了你 Apple iPad第七代使用小计 使用群晖,配置打印机,实现无线打印机的功能 宝塔面板安装FRP内网穿透控制群晖 推荐一款免费的视频剪辑软件shotcut 使用zerotier进行内网穿透 再次折腾黑群晖系统 记暴风酷播云2期折腾黑群晖 lnmp一键开启waf及使用 Fail2Ban防护 给7B2主题加上外链自动跳转功能 这次发现百度收录的挺快的 百度输入法小测 黑莓8830上网利器之浏览器 做博客比做网站难 网站又搬家了—这次选的衡天小张的服务器 换到pipni的空间了 杯具,原来上传的图片等都没有能转过来 换了个模板 小测三款博客离线编辑软件 开发出godaddy免费空间的另外一个用途 体验了下失而复得 解决godaddy免费空间广告带来影响的方法 小测QQ刚推出的webqq mini wordpress中文tag、中文分类找不到文章的解决方法 提供WordPress 主题 Marcelle的汉化版本 博客整体细节基本完成 虚惊一场 如何增加WordPress上传文件类型 ubuntu9.10 sis显卡驱动程序 聪明的宝宝 lnkillprocess.exe – DLL 初始化失败终极解决方案 lnkillprocess.exe-dll初始化失败的原因终于找到了 如何安全使用计算机4 如何安全使用计算机 3 如何安全使用计算机 2 如何安全使用计算机 1 KPI考评——企业绩效管理的基础 推荐大家使用Symantec Endpoint Protection 11.0.4000_MR4简体中文正式版
WordPress开启Nginx fastcgi_cache缓存加速
老刘 · 2019-09-08 · via 齐物 on 老刘博客

昨天趁着重装景安服务器,把一直想弄的 nginx fastcgi_cache 配置好了,虽然走了不少弯路,但最终成功了,网页打开速度明显提升。


一、安装 Nginx ngx_cache_purge 模块

由于使用的是 OneinStack 面板,以下步骤基于 OneinStack。其他面板如 LNMP 可能需要微调。

  1. 检查 ngx_cache_purge 是否安装
1
nginx -V 2>&1 | grep -o ngx_cache_purge

如果没有输出,表示未安装。

  1. 下载并解压 ngx_cache_purge 模块
1
2
3
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
  1. 解压 Nginx 及依赖包
1
2
3
4
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
  1. 查看 Nginx 编译参数
  1. 编译并安装 ngx_cache_purge

注意:添加模块时必须保留原有编译参数,只在末尾加上 --add-module=../ngx_cache_purge-2.3

1
2
3
4
5
6
7
8
9
./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`} # 备份旧版本
cp objs/nginx /usr/local/nginx/sbin
  1. 验证安装成功
1
nginx -V 2>&1 | grep -o ngx_cache_purge

输出 ngx_cache_purge 表示安装成功。


二、Nginx 开启 FastCGI Cache 配置实例

以下为我的 WordPress 网站配置示例(www.yanjingweb.cn):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;

server {
    listen 80;
    listen 443 ssl http2;
    
    set $skip_cache 0;

    # 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;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_index index.php;
        include fastcgi.conf;
        fastcgi_cache_bypass $skip_cache;
        fastcgi_no_cache $skip_cache;
        fastcgi_cache WORDPRESS;
        fastcgi_cache_valid 200 301 302 1d;

        add_header X-Cache "$upstream_cache_status From $host";
        add_header Nginx-Cache "$upstream_cache_status";
    }

    # 缓存清理配置(可选)
    location ~ /purge(/.*) {
        allow 127.0.0.1;
        allow 122.115.122.111; # 请改为你服务器 IP
        deny all;
        fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
    }
}

三、测试与验证

  1. 检查 Nginx 配置是否正确:
  1. 重启 Nginx:
  1. 打开网页,F5 刷新几次,查看浏览器响应头:

如果看到 X-Cache: HIT 字样,表示缓存生效。

  1. 查看缓存文件夹 /tmp/wpcache,可以看到缓存文件生成。

四、效果总结

开启 fastcgi_cache 后,即使不使用 CDN,网页打开速度明显提升,实现了秒开体验。

有动手能力的同学可以尝试,操作难度中等,但效果非常明显。