我有一些nginxconfiguration片段,它添加位置,即发送请求到特定的path到fastcgi服务器。 对于一个干净的部署,我想使用/etc/nginx/conf.d文件夹将它们添加到那里。
问题是, location /something属于服务器块,默认服务器已经在/etc/nginx/sites-enabled/default 。 而当我想部署更多不同的位置时,他们不应该为每个包含需要一个自己的虚拟主机。
可能甚至一个网站sites-enabled将是有用的,但它应该仍然是可组合的。 在不知道是否安装了其他代码片段的情况下,可以在同一个configuration中包含不同的片段。
有没有一种干净的方式来包含configuration片段的位置块,而无需修改默认configuration?
nginx中的include语句也适用于部分configuration,而不仅仅是完整的服务器。 所以你可以创build一个目录,例如/ etc / nginx / default-site-locations /,并在那里放置你所有的location_1.conf … location_n.conf文件。
然后,在您的默认configuration中,使用include /etc/nginx/default-site-locations/*.conf来自该目录的所有conf文件