Skip to content

Nginx

Nginx 是常用的 Web Server、反向代理和负载均衡器。

在前端和 Web 服务部署中,Nginx 最常见的职责是:

  • 托管静态资源,例如 Vue、React、VitePress 构建产物。
  • 反向代理 API 服务,例如 Node.js、NestJS、Java、Go 服务。
  • 处理 HTTPS 证书、HTTP 到 HTTPS 跳转。
  • 作为负载均衡入口,把流量分发给多台后端服务。
  • 统一配置缓存、压缩、上传大小、访问日志和错误页。

请求处理流程

简化流程:

bash
client
  -> server 匹配域名和端口
  -> location 匹配 URI
  -> static file / reverse proxy / redirect / return

关键点:

  • server 决定“哪个站点处理这个请求”。
  • location 决定“这个路径怎么处理”。
  • roottry_files 处理静态文件。
  • proxy_pass 转发到后端服务。
  • returnrewrite 处理跳转或重写。

推荐配置方式

Ubuntu 系统中常见做法:

bash
/etc/nginx/
├── nginx.conf
├── conf.d/
├── sites-available/
└── sites-enabled/

建议:

  • 通用配置放在 nginx.conf
  • 单站点配置放在 sites-available/<site>
  • 启用站点时软链接到 sites-enabled/
  • 每次修改后先执行 nginx -t,再 systemctl reload nginx

基于 MIT 许可发布