Назад | Перейти на главную страницу

Могу ли я использовать /etc/nginx/conf.d для добавления местоположений?

У меня есть несколько фрагментов конфигурации 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