Skip to content

配置目录

Nginx 主配置目录通常是 /etc/nginx。不同发行版结构略有差异,Ubuntu 常见结构如下:

bash
/etc/nginx
├── nginx.conf
├── conf.d/
├── sites-available/
├── sites-enabled/
├── snippets/
├── mime.types
├── proxy_params
├── fastcgi_params
└── modules-enabled/

核心文件

路径作用
nginx.conf主配置文件,定义全局、eventshttp 等配置
conf.d/额外配置目录,常用于按文件拆分配置
sites-available/可用站点配置,文件存在不代表启用
sites-enabled/已启用站点配置,通常是到 sites-available 的软链接
snippets/可复用配置片段,例如 SSL、proxy header
mime.types文件扩展名和 Content-Type 映射
proxy_params反向代理常用 header 片段

推荐站点结构

bash
/etc/nginx
├── nginx.conf
├── snippets/
   ├── proxy-headers.conf
   └── ssl-params.conf
├── sites-available/
   ├── example.com
   └── api.example.com
└── sites-enabled/
    ├── example.com -> /etc/nginx/sites-available/example.com
    └── api.example.com -> /etc/nginx/sites-available/api.example.com

启用站点:

bash
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
nginx -t
systemctl reload nginx

停用站点:

bash
unlink /etc/nginx/sites-enabled/example.com
nginx -t
systemctl reload nginx

配置拆分原则

  • 一个域名或应用一个站点配置文件。
  • 公共 SSL 参数、代理头、缓存策略放到 snippets/
  • 不在 nginx.conf 里堆业务站点配置。
  • 删除默认站点前,先确认已有 default_server 或明确的兜底配置。

基于 MIT 许可发布