我可以使用 /etc/nginx/conf.d 添加位置吗?

all*_*llo 3 nginx ansible

我有一些 nginx 配置片段,它们添加了位置,即将请求发送到 fastcgi 服务器的某个路径。对于 ansible 的干净部署,我想使用/etc/nginx/conf.d文件夹将它们添加到那里。

问题是,location /something属于服务器块并且默认服务器已经在/etc/nginx/sites-enabled/default. 当我想部署更多不同的位置时,他们不应该为每个包含都需要一个自己的虚拟主机。

甚至一个站点sites-enabled可能很有用,但它仍然应该是可组合的。不同的片段可以包含在同一个配置中,而无需知道是否安装了其他片段。

有没有一种干净的方法可以在不修改默认配置的情况下从配置片段中包含位置块?

小智 5

nginx 中的 include 语句也适用于部分配置,而不仅仅是完整的服务器。所以你可以创建一个目录,例如 /etc/nginx/default-site-locations/ 并将你所有的 location_1.conf ... location_n.conf 文件放在那里。

然后,在您的默认配置中,包含该目录中的所有 conf 文件 include /etc/nginx/default-site-locations/*.conf