centos 默认不自带 sites-available 和 sites-enabled 目录,需手动创建并修改 nginx.conf 中的 include 指令为 include /etc/nginx/sites-enabled/*;,再建立目录结构、迁移配置、通过软链接启用站点,实现清晰的多站点管理。

CentOS 默认不自带 sites-available 和 sites-enabled 目录,但你可以手动创建并启用这套机制,效果和 Ubuntu/Debian 一致。
确认主配置是否支持 include
先检查 /etc/nginx/nginx.conf 中是否有这一行:
include /etc/nginx/conf.d/*.conf;
这是 CentOS 的默认加载方式。若你想用 sites-available/enabled,需改为主配置加载 sites-enabled:
- 打开
/etc/nginx/nginx.conf - 注释掉原
include /etc/nginx/conf.d/*.conf; - 添加:include /etc/nginx/sites-enabled/*;
- 保存后运行
nginx -t验证语法
创建 sites-available 和 sites-enabled 目录
执行以下命令建立标准结构:
sudo mkdir -p /etc/nginx/sites-available /etc/nginx/sites-enabled- 把已有站点配置(如
/etc/nginx/conf.d/default.conf)移到/etc/nginx/sites-available/下 - 用符号链接启用它:
sudo ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/
新增站点的标准流程
每增加一个网站,按三步走:
- 在
/etc/nginx/sites-available/下新建配置文件,比如myblog.conf - 写好
server块,注意server_name、root等关键项 - 用
ln -s创建软链到sites-enabled,再nginx -t && systemctl reload nginx
为什么推荐用这套机制
它让多站点管理更清晰:
-
sites-available存所有配置(含未启用的、测试中的) -
sites-enabled只保留当前生效的链接,删链接即停站,不删文件 - 避免直接编辑
conf.d下一堆同级文件导致混乱 - 配合脚本批量启停、备份、迁移都更方便











