Nginx 多配置文件放哪个目录好,sites-available/enabled 与 conf.d 对比

更新日期: 2020-11-16 阅读次数: 6513 字数: 321 分类: Nginx

从 nginx.conf 的 http block 配置来看,ubuntu 20.04 apt 安装的 nginx 默认引入了两个配置目录:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

sites-available & sites-enabled 以前就知道,但是 conf.d 还是第一次注意到。

之所以会注意到 conf.d 是因为在 stackoverflow 上看到一个讨论

https://serverfault.com/questions/527630/difference-in-sites-available-vs-sites-enabled-vs-conf-d-directories-nginx

我觉得最佳答案名不副实,反而有个推荐使用 conf.d 目录的方案我觉得更有道理一些。

sites-available & sites-enabled 的不妥之处

我觉得先在 available 目录下新建个文件,然后在 enabled 目录下创建个软链接。 这种做法太繁琐。

删除软链接,存在隐患。如果其他人没用软链接,而使用的是真实文件呢。 需要对比两个目录的文件,麻烦。不够直观。

而 conf.d 目录就很简洁。甚至可以直接用 git 进行管理。

如何禁用 conf.d 下的某一个配置

将 .conf 后缀改成其他的即可,例如,.off。这样看起来也直观。 可以一目了然,哪些配置在生效,哪些不生效。

迁移过程慢下来也没坏处

至少可以有时间来更正一下之前略显粗糙的服务器配置。

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式