专题指南
Nginx 专题:从部署到排障
Nginx 是最常用的开源 Web 服务器与反向代理。本专题按「认识 → 部署 → 排障」组织站内教程,并在常见问题里给出 gzip、日志与性能的最小可用配置——每条配置都注明来源,改配置前记得备份并 reload 而非 restart。
适合人群
需要自己维护 Nginx 的站长与前端开发者;遇到 502/504 需要定位问题的值班同学。
学完可以做到
- 理解 Nginx 配置的分层结构(http → server → location)
- 独立部署静态站点并配置 HTTPS
- 按证据链排查 502 Bad Gateway
- 知道去官方文档查什么
适用场景
- 静态网站/前端产物上线
- 反向代理 Node.js、Python 后端
- 上线后出现 502/504 排查
推荐阅读顺序
按板块顺序学习
板块内按列出顺序阅读;跨板块可按需跳读
认识与部署
从「Nginx 是什么」到第一个静态站点上线。
代理与排障
反向代理是 Nginx 的另一半职责;502 是代理场景最高频的故障。
运维与检查
上线前后的例行检查,以及用面板托管 Nginx 的替代路径。
Nginx 反向代理与负载均衡的专门教程、location 匹配规则详解在内容规划中,尚未发布。
边学边练
相关在线工具
学习过程中可以直接用这些工具验证结果:配完解析查 DNS、装完证书查 HTTPS、上线后做可用性监测。
常见问题
学习这个主题时的高频疑问
怎么开启 gzip 压缩?
在 http 或 server 块加入:gzip on; gzip_types text/css application/javascript application/json image/svg+xml; gzip_min_length 1024; 修改后用 nginx -t 校验,再 systemctl reload nginx 生效。用 curl -I -H "Accept-Encoding: gzip" https://your-domain 检查响应是否带 Content-Encoding: gzip。参数含义见官方 ngx_http_gzip_module 文档。
Nginx 日志在哪里,怎么看?
apt 安装默认在 /var/log/nginx/:access.log 记录每个请求,error.log 记录 Nginx 自身与上游错误。排查 502 时先看 error.log 里对应时间点的 upstream 错误行(connect() failed / upstream timed out),它直接指向后端进程或 socket 状态。
reload 和 restart 有什么区别?
reload 向主进程发信号平滑加载新配置,工作进程处理完当前请求才退出,线上必须用它;restart 会断开所有连接,仅在模块变更或进程异常时需要。两者之前都先跑 nginx -t。
性能上最先做什么?
按性价比排序:开 gzip 与静态资源缓存头(sendfile on、expires)、确认 HTTPS 证书链完整(少了中间证书会拖慢握手)、开启 HTTP/2(listen 443 ssl http2)。这些做完再考虑动静分离与 CDN,顺序见《网站访问速度慢,应该从哪些方面排查》。
继续学习