🌦️周口阵雨 · 2026年10月19日9~14℃北京 18/7℃上海 25/21℃广州 34/25℃深圳 33/23℃杭州 26/20℃成都 23/15℃全国天气 »登录
2026年10月19日
内容持续收录 · 检索服务
提示:本站为导航搜索站
热门行业: 餐饮食品法律法务生活服务门户资讯

Nginx 反向代理配置实战:让你的博客访问速度飞起来

李洋博客 2026-04-16 10:00 4 次阅读

经常搭建网站和部署服务器的都知道NGINX的反向代理这东西,配置好了能让你的博客网站访问速度提升不止一个档次。但是这个也不是所有人都了,比如我,我就不会弄,所以抱着学习的态度查找相关的资料,一起来聊聊怎么使用nginx的反向代码提升自己博客网站的速度。

很多刚建站的朋友问我:自己的博客网站直接跑在服务器上不行吗?为啥非要整个 Nginx 反向代理啊?这么说吧,你让服务器直接对外服务,就像让一个厨子既炒菜又端盘子又收银——不是不行,但效率低啊。Nginx 就是那个专业的服务员,它专门处理静态资源、SSL 加密、请求分发这些活儿,让 zblog 专心写文章、处理动态内容,专业的事专业干,决定访问速度的还得是服务器的。我实测过,加上反向代理后,博客的首屏加载时间从 2.3 秒降到了 0.8 秒。这还是在没上 CDN 的情况下。所以可以尝试接入下,毕竟这么好的资源不用属实有些浪费了。

先说最简单的场景,假如你有一台自己的物理服务器,ZBlog 跑在 8080 端口,为什么不是80端口,因为家用宽带不允许开放80端口,部分运营商8080都不允许,只能是非常用端口,当然专线和企业宽带除非哈,然后呢,你想让外面通过 80 端口访问怎么办?这时候就可以考虑使用nginx的反向代理。

就这几行,保存, nginx -t 测试一下,没问题就 nginx -s reload 。完事。你看,你又着急,等等,这才哪到哪?毕竟这只是一道开胃菜,压轴的还在后面。

博客里的图片、CSS、JS 这些静态文件,没必要每次都让 ZBlog 处理。Nginx 可以直接缓存,下次访问直接返回。

Nginx 自己缓存 30 天

告诉浏览器也缓存 30 天

效果?一个 500KB 的图片,第一次访问要 200ms,后面 99 次都是 0ms(直接从浏览器缓存读),不走服务器了。

现在谁还不开个 Gzip?毕竟Brotli压缩都已经出来好久了,如果连Gzip都没启用有点说不过去了,像文本类资源压缩后能省 60-70% 的流量。

注意 gzip_min_length 1024 ,小于 1KB 的文件别压缩了,压缩完可能更大,还浪费 CPU。

proxy_set_header Connection "" 这行很关键,它启用了 HTTP/1.1 的长连接,避免每次请求都重新握手。

刚才的基础配置里已经有 proxy_set_header X-Real-IP $remote_addr ,这样 ZBlog 拿到的就是真实访客 IP,不是 Nginx 的 127.0.0.1。但还要在 ZBlog 那边配置一下,让它信任这些 header。ZBlog 1.7 之后在 include/c_config.php 里加:

防止有人搞你,加个限流:

意思是:每个 IP 每秒最多 10 个请求,允许突发 20 个,超过的直接拒绝,根据博客网站的实际访问量去设置,不要照搬。

有些扫描器、爬虫特别烦人,可以直接屏蔽:

更多的爬虫可以 百度 ,这是指举例几个。

最后给你们看看我博客上实际用的配置(简化版):

当然我博客还开启了Brotli压缩,之前博客写过相关 教程 《宝塔面板Nginx环境下部署Brotli压缩功能图文详解》

Q:配置完 Nginx 报 502 Bad Gateway

A:99% 是网站项目内容配置出错,可以先恢复之前的配置再看,毕竟配置文件错了一个字符都不能正常使用,看看 PHP-FPM 在不在,不在就 systemctl start php-fpm 。

Q:图片显示不出来,全是叉

A:检查 proxy_set_header Host $host 这行有没有。ZBlog 网站博客生成图片 URL 时用 Host header,没有的话会生成错误的地址。

反向代理这东西,配置一次,受益很久。我这套配置跑了几年了,目前博客没出过任何大的问题,访问速度也一直稳定。如果在配饰CDN使用那简直就是锦上添花。好了,设置完成了,有问题留言反馈吧。

10分钟搭建Linux服务器监控告警系统,手机实时接收预警

网站被 CC 攻击了?别慌,教你几招接地气的防护办法

↑