Я настраиваю nginx + uwsgi. Я планирую иметь несколько приложений с разными настройками на разных поддоменах (например, sub1.example.com, sub2.example.com).

Одна из приятных вещей в uwsgi - переписывание конфигурации. Например, я могу создать скелет для всех приложений uwsgi и использовать% n для представления текущего имени файла (без расширения).

$ cat > uwsgi.skel
[uwsgi]
...
socket = /var/run/uwsgi/%n.sock
...

Теперь я могу просто создавать новые экземпляры uwsgi, используя ln -s.

$ ln -s /etc/uwsgi/conf/sub1.example.com.ini /etc/uwsgi/conf/uwsgi.skel
$ ln -s /etc/uwsgi/conf/sub2.example.com.ini /etc/uwsgi/conf/uwsgi.skel

Конфигурация nginx для серверов будет точно такой же, КРОМЕ для доменного имени. Я хотел бы сделать что-то вроде этого:

cat > /etc/nginx/sites-available/app.skel
server {
    listen 80;
    server_name $file_name;
    location / { try_files $uri @app }
    location @app {
        include uwsgi_params;
        uwsgi_pass unix://var/run/uwsgi/$file_name.sock 
    }
}
$ ln -s /etc/nginx/sites-enabled/sub1.example.com /etc/nginx/sites-available/app.skel
$ ln -s /etc/nginx/sites-enabled/sub2.example.com /etc/nginx/sites-available/app.skel

Есть ли способ сделать замену в nginx аналогично тому, что доступно с uwsgi? Каков наилучший способ обеспечить совместное использование конфигурации приложениями nginx?

1 ответ1

-1

Оказывается, это невозможно с nginx.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .