一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Nginx 如何在目录结构中区分主配置文件与各个站点的独立配置文件

时间:2026-08-20 20:31:49 编辑:袖梨 来源:一聚教程网

Nginx 主配置文件是唯一启动入口,位于 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf,仅定义全局参数、events 块,并通过 include 引入 conf.d/ 和 sites-enabled/ 等目录;站点配置以 server{} 为根结构,存放于 sites-available/ 并通过软链启用,conf.d/ 则用于跨站点复用的通用片段。

Nginx 通过清晰的目录分工和 `include` 指令机制,天然区分主配置文件与各站点的独立配置文件。关键不在文件名,而在位置、用途和加载顺序。

主配置文件 nginx.conf 是唯一入口

它位于 /etc/nginx/nginx.conf(包管理安装)或 /usr/local/nginx/conf/nginx.conf(源码编译),是整个服务启动时最先读取的文件。里面不直接写 逻辑,只做三件事:

– 定义全局参数(user、worker_processes、pid、日志路径等)

– 配置 events 块(连接处理模型)

– 在 http 块中用 include 引入其他配置片段,例如:

include /etc/nginx/conf.d/*.conf;

include /etc/nginx/sites-enabled/*;

sites-available 和 sites-enabled 实现站点配置解耦

这是最常用的站点管理方式,靠符号链接实现“定义”与“启用”分离:

/etc/nginx/sites-available/:存放所有站点的完整 server 块配置(如 example.com.conf、blog.conf),相当于配置仓库,不被自动加载

/etc/nginx/sites-enabled/:仅存放指向 sites-available 中对应文件的软链接(如 ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

– nginx 启动时只加载 sites-enabled 下的文件,删掉链接即停用站点,无需改内容或注释

conf.d/ 适合通用片段,不是站点专属

这个目录下的 .conf 文件(如 ssl.conf、gzip.conf)通常包含跨站点复用的设置,比如:

– 公共的 SSL 参数

– 统一的 gzip 压缩规则

– 自定义日志格式或错误页

它们被主配置中的 include /etc/nginx/conf.d/*.conf; 加载,作用于所有 server 块,不绑定具体域名或路径

判断一个配置是否为主配置或站点配置,看三点

– 是否在 nginx.conf 顶层?是 → 主配置

– 是否以 server { ... } 为根结构,并含 listen / server_name?是 → 站点配置(无论放在 sites-available 还是 conf.d/)

– 是否被 nginx.conf 的 include 显式引入?否 → 不生效

– 是否在 sites-enabled 下有真实文件或有效链接?否 → 该站点未启用

热门栏目