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

Сохраняйте структуру доступности / доступности сайтов при компиляции Nginx

Я использую nginx на ubuntu который по умолчанию имеет sites-available/enabled структура каталогов похожа на Apache для хранения файлов конфигурации сайтов. Я собрал nginx (потому что мне нужен сторонний модуль), используя следующую конфигурацию:

./configure \
    --prefix=/opt/nginx/version \
    --http-log-path=/var/log/nginx/access.log \
    --error-log-path=/var/log/nginx/error.log \
    --pid-path=/var/run/nginx.pid \
    --with-http_ssl_module \
    --user=nginx \
    --group=nginx \
    --add-module=...

Nginx работает нормально, но сейчас мне нужно настроить все мои сайты в /opt/nginx/version/conf/nginx.conf который не так удобен в обслуживании, как с sites-available/enabled структура каталогов, с помощью которой я могу создать по одному файлу для каждого сайта и решить, какие из них активированы с помощью символических ссылок.

Я посмотрел на варианты установки но все, что я вижу, это --conf-path указать путь к nginx.conf.

Есть ли способ повторно использовать sites-available/enabled структура каталогов со скомпилированным nginx?

Если вы заглянете в /etc/nginx/nginx.conf Ubuntu по умолчанию, вы должны найти следующую строку.

http {
    ...
    include /etc/nginx/sites-enabled/*;
}

Это то, что вам нужно, чтобы произошло волшебство, связанное с сайтами.

Я не nginx установлен на любой машине, но я предполагаю, что это обрабатывается так же, как и в Apache, где основной файл конфигурации просто включает все файлы, расположенные в /etc/apache/sites-enabled. Эти файлы, в свою очередь, являются символическими ссылками на файлы в /etc/apache/sites-available и эти ссылки создаются вручную или с помощью a2enable семейство сценариев.

Должно быть очень легко воссоздать подобную структуру с вашим самоскомпилированным nginx.