Acontece que isso não é possível com o nginx.
Estou configurando o nginx + uwsgi. Pretendo ter vários aplicativos com diferentes configurações em subdomínios separados (por exemplo, sub1.example.com, sub2.example.com).
Uma das coisas boas sobre o uwsgi é a reescrita de configuração. Por exemplo, posso criar um esqueleto para todos os aplicativos uwsgi e usar% n para representar o nome do arquivo atual (sem extensão).
$ cat > uwsgi.skel
[uwsgi]
...
socket = /var/run/uwsgi/%n.sock
...
Agora, posso apenas criar novas instâncias do uwsgi usando 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
A configuração do nginx para os servidores será exatamente a mesma EXCETO para o nome do domínio. Eu gostaria de fazer algo assim:
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
Existe alguma maneira de fazer substituição no nginx semelhante ao que está disponível com o uwsgi? Qual é a melhor maneira de obter compartilhamento de configuração entre os aplicativos nginx?
Tags nginx