Eu ainda não sei, se um script incluir é possível, mas estou usando um script para gerar a configuração estática agora usando jinja2 como sistema de modelo.
Eu tento configurar vhosts com e sem configuração adicional por vhost com nginx. Eu penso em algo assim:
server {
listen 81;
server_name ~^(www\.)?(?<sname>.+?)$;
root /var/www/$sname;
include /etc/nginx/sites/$sname;
access_log /var/log/nginx/$sname/access.log;
error_log /var/log/nginx/$sname/error.log;
}
Então, eu poderia apenas touch /etc/nginx/mysite.example.com
adicionar um novo site com html estático, enquanto eu posso editar o arquivo para o vhost adicionar, por exemplo, uma diretiva de proxy reverso ou algumas regras de reescrita.
O problema é que o nginx parece incluir a configuração ao iniciar. E seria mais limpo ter algo como
for $config in /etc/nginx/sites:
{
server_name $config
root /var/www/$config
include $config
[...]
}
que deve ser executado no início e não na primeira solicitação ao vhost.
Tags nginx