Вопрос про настройку nginx

С наступающим праздником, уважаемые коллеги!

Суть такая: есть папка /etc/nginx/conf.d куда кладутся файлы конфигурации виртуальных хостов. В основном файле конфигурации указано:

include "/etc/nginx/conf.d/*.conf"

Вопрос такого плана. Можно ли в этом параметре указывать доступ к файлу по http? Или если быть точным, можно ли вместо текстовых файлов возвращать результат выполнения скрипта?

типа

include "http://localhost/vhosts.php"

Идея в том, чтобы создавать виртуальные хосты динамически.

Второй вопрос. Помимо nginx в OpenBSD встроен демон httpd - проблема в том, что при запуске он слушает все интерфейсы. Можно ли ему ограничить доступ к интерфейсам? Чтобы httpd и nginx работали на разных интерфейсах и не мешали друг другу?

Лига Сисадминов

1.6K поста17.8K подписчиков

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Так его же всё равно релоадить нужно будет после добавления хоста. Зачем городить огород с этой пышкой, если можно просто скриптом эту твою динамику реализовать. Или я тебя не так понял?

раскрыть ветку (18)
1
Автор поста оценил этот комментарий

Уменьшение количества операций чтения-записи на диск.

В принципе я рассматривал вариант со скриптом как резервный - просто смонтировать эту папку как RAM-диск.

раскрыть ветку (17)
1
Автор поста оценил этот комментарий

Выглядит как "Серьезная контора возьмет в аренду дырокол"


Лучше опиши более подробно какую проблему хочешь решить а не то как сделать лакированный костыль :)

раскрыть ветку (10)
Автор поста оценил этот комментарий

Уже описал проблему - хочу виртуальные хосты в БД.

Выглядит как "Серьезная контора возьмет в аренду дырокол"

Да это я просто дома балуюсь, какие тут серьёзные конторы? 😁

раскрыть ветку (9)
1
Автор поста оценил этот комментарий
Да это я просто дома балуюсь, какие тут серьёзные конторы?

тогда забить на :

Уменьшение количества операций чтения-записи на диск.
раскрыть ветку (6)
1
Автор поста оценил этот комментарий

А опыт? Разве не интересно хотя бы теоретическое решение?

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

это да - сам люблю костылить)
зависит от задачи конечно что в приоритет ставить - понятно, что быстро, хорошо, красиво - не получится)
Мне сейчас надо затащить жирную тулзу на чешуйчатом в чистый Си код,  отрабатывает по полминуты на каждой итерации, задач - десятки тысяч и как бы причёсывать вокруг этого чудовища смысла нет даже из интереса)

Автор поста оценил этот комментарий
Теоретическое возможно интересно, практического применения нет, следовательно - не нужно. Есть же системы управления хостингом, там все реализовано. Вэбмин в конце концов
раскрыть ветку (3)
Автор поста оценил этот комментарий
практического применения нет

Или Вы его не видите. А мне интересно "создать сайт одной командой", "удалить сайт одной командой", включить-выключить...

Возможно, запланировать включение-выключение сайтов по расписанию.


Да и использование ansible не спасёт от написания плейбуков. А тот же вебмин - только вручную, только хардкор.

раскрыть ветку (2)
Автор поста оценил этот комментарий
Причем тут ansible. Все что нужно - https://vestacp.com/
раскрыть ветку (1)
Автор поста оценил этот комментарий

Возможно. Не пробовал, но спасибо.

Автор поста оценил этот комментарий
А не лучше вирт хосты в гите? Например в гитлабе, с пайплайном, который пушит новый конфиг и нгинкс релоадит после добавления
раскрыть ветку (1)
Автор поста оценил этот комментарий

Мей би.

Ещё и ansible прикрутить.

Автор поста оценил этот комментарий

Так а PHP файл где будет лежать, не на диске каком-то?

К тому же там ну такой мизер эти операции, если конечно у тебя не под 10к хостов каждый раз переписываются.

раскрыть ветку (5)
Автор поста оценил этот комментарий

PHP-файл сам по себе перезаписываться не будет - возьмёт инфу из БД и всё.


Операции может и мизер, но так проще, а я ленив.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Так а БД это не операции по диску? ( ‾ʖ̫‾)

раскрыть ветку (3)
Автор поста оценил этот комментарий

Там БД - один большой файл, а не куча маленьких.

Идея в том, чтобы держать записи к хостам в базе.

Как для dns, так и для веб-сервера.


В идеале можно и веб-интерфейс запилить.

Виртуальный хост создал-удалил, включил-выключил.

Можно даже несколько версий PHP установить и для каждого хоста указывать нужную.

раскрыть ветку (2)
Автор поста оценил этот комментарий

В "большом файле" всё равно куча маленьких - таблицы.

раскрыть ветку (1)
Автор поста оценил этот комментарий

У них разные режимы чтения-записи. Поэтому читать один большой файл лучше чем кучу маленьких.

Да и лень мне ручками делать типовые операции, если честно.

Всё равно уже имена хостов лежат в БД DNS, чо бы их же не использовать и для nginx?

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку