Nginx sites文件夹
nginx为什么要sites-available sites-enable 两个文件夹 ?
Nginx 使用 sites-available 和 sites-enabled 两个文件夹的设计主要是为了提供更灵活的站点配置管理方式。这种设计模式在很多 Linux 发行版(如 Debian/Ubuntu)的 Nginx 包中很常见。
这两个文件夹的作用和区别:
sites-available:
这是"可用的站点配置"存储目录
存放所有可能的站点配置文件
这些配置不会自动生效
相当于一个"配置仓库"
sites-enabled:
这是"已启用的站点配置"目录
只包含当前需要生效的站点配置
通常包含指向
sites-available中文件的符号链接Nginx 实际加载的是这里的配置
这样设计的主要优点:
配置管理更清晰:
可以保留不活跃的配置但不启用
需要时只需创建/删除符号链接即可启用/禁用站点
快速切换:
启用/禁用站点只需操作符号链接
无需修改或删除实际配置文件
版本控制友好:
可以保留多个版本的配置在
sites-available通过切换符号链接来快速回滚
安全性:
避免因直接删除配置文件而丢失配置
禁用站点时配置仍然保留
实际工作流程示例:
# 启用一个站点
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
# 禁用一个站点
sudo rm /etc/nginx/sites-enabled/example.com
# 重载Nginx配置
sudo nginx -s reload需要注意的是,这种双文件夹结构并不是 Nginx 本身的强制要求,而是某些 Linux 发行版的管理方式。如果你查看 Nginx 的主配置文件 nginx.conf,通常会看到类似这样的指令:
include /etc/nginx/sites-enabled/*;这表示 Nginx 会加载 sites-enabled 下的所有配置文件。
如果你使用的是其他操作系统或从源码编译安装的 Nginx,可能不会自动创建这两个目录,但你可以手动创建并采用这种管理方式,因为它确实能带来很多便利。
Nginx sites文件夹
https://halo.jiangling.site/archives/nginx-sites