云站指南建站与运维知识库

专题指南

Nginx 专题:从部署到排障

Nginx 是最常用的开源 Web 服务器与反向代理。本专题按「认识 → 部署 → 排障」组织站内教程,并在常见问题里给出 gzip、日志与性能的最小可用配置——每条配置都注明来源,改配置前记得备份并 reload 而非 restart。

3 个板块8 篇教程3 个相关工具

适合人群

需要自己维护 Nginx 的站长与前端开发者;遇到 502/504 需要定位问题的值班同学。

学完可以做到

  • 理解 Nginx 配置的分层结构(http → server → location)
  • 独立部署静态站点并配置 HTTPS
  • 按证据链排查 502 Bad Gateway
  • 知道去官方文档查什么

适用场景

  • 静态网站/前端产物上线
  • 反向代理 Node.js、Python 后端
  • 上线后出现 502/504 排查

推荐阅读顺序

按板块顺序学习

板块内按列出顺序阅读;跨板块可按需跳读

边学边练

相关在线工具

学习过程中可以直接用这些工具验证结果:配完解析查 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,顺序见《网站访问速度慢,应该从哪些方面排查》。

继续学习

其他学习路线与专题