У меня есть несколько фрагментов конфигурации nginx, которые добавляют местоположения, то есть для отправки запросов на определенный путь к серверу fastcgi. Для чистого развертывания с помощью ansible я хотел бы использовать /etc/nginx/conf.d
папку, чтобы добавить их туда.
Проблема в, location /something
принадлежит блоку сервера, а сервер по умолчанию уже определен в /etc/nginx/sites-enabled/default
. И когда я хочу развернуть больше разных локаций, им не нужен собственный виртуальный хост для каждого включения.
Возможно даже сайт в sites-enabled
было бы полезно, но все равно должно быть составным. В одну и ту же конфигурацию можно включить разные фрагменты, не зная, установлены ли другие фрагменты или нет.
Есть ли чистый способ включить блоки местоположения из фрагментов конфигурации без изменения конфигурации по умолчанию?
Оператор include в nginx работает также для частичной конфигурации, а не только для полных серверов. Таким образом, вы можете создать каталог, например. / etc / nginx / default-site-locations / и поместите туда все ваши файлы location_1.conf ... location_n.conf.
Затем в конфигурации по умолчанию включите все файлы conf из этого каталога с помощью include /etc/nginx/default-site-locations/*.conf