Nginx 配置入门:反向代理、gzip 与常见坑,一篇讲清最常用的 80%

举报
yd_255989600 发表于 2026/11/05 06:08:02 2026/11/05
【摘要】 Nginx 是 most 开发者接触的第一台「服务器门面」,但很多人只会改端口就开始用,遇到反向代理 502、静态文件 403 就束手无策。这篇整理最常用的配置块与排查思路。基础结构:Nginx 配置由 http 块下的多个 server 块组成,每个 server 监听一个端口/域名,server 内的 location 按前缀或正则匹配路径。改完配置必须 nginx -t 语法检查、ng...

Nginx 是 most 开发者接触的第一台「服务器门面」,但很多人只会改端口就开始用,遇到反向代理 502、静态文件 403 就束手无策。这篇整理最常用的配置块与排查思路。

基础结构:Nginx 配置由 http 块下的多个 server 块组成,每个 server 监听一个端口/域名,server 内的 location 按前缀或正则匹配路径。改完配置必须 nginx -t 语法检查、nginx -s reload 平滑重载,直接 kill 进程会造成瞬断。

反向代理是最高频场景:location /api/ { proxy_pass http://127.0.0.1:3000; } 把 /api/ 前缀的请求转发给后端 Node 服务。两个常见坑:一是 proxy_pass 末尾带不带斜杠行为完全不同(带斜杠会去掉 location 前缀);二是忘记设置 proxy_set_header Host 和 X-Real-IP,导致后端拿到的都是 127.0.0.1。

gzip 压缩对前端资源收益巨大:gzip on; gzip_types text/css application/javascript application/json; gzip_min_length 1k; 三行就能把 JS/CSS 体积压到原来的三分之一。注意图片类已压缩格式不要重复压缩。

静态资源 403 排查三步:看文件权限(nginx worker 进程用户是否有读权限)、看 SELinux(CentOS 上常见拦截,audit2allow 分析)、看 location root 路径是否正确(root 是拼接完整路径,alias 是替换前缀,混用是重灾区)。

502/504 排查:502 说明后端进程挂了或端口不对,直接 curl 127.0.0.1:3000 验证后端是否存活;504 多是后端处理超时,调大 proxy_read_timeout。日志是好朋友:access_log 和 error_log 配合 tail -f 能定位 90% 的问题。

最后建议把常用配置块沉淀成 include 片段(如 gzip.conf、proxy.conf),server 块里 include 进来,配置既整洁又好维护。配合 nginx -t 的习惯,Nginx 就从黑盒变成顺手工具。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。