Estou tentando otimizar minhas configurações do nginx, para que seja possível definir uma variável e todos os caminhos de localização sejam atualizados automaticamente. Eu tenho quatro linhas em questão:
server_name php.domain.com;
root /srv/web/vhosts/php/web;
error_log /srv/web/vhosts/php/logs/error.log;
access_log /srv/web/vhosts/php/logs/access.log;
O que eu gostaria de conseguir é definir uma variável (neste caso 'php') e incluí-la na configuração.
set $variable "php";
server_name $variable.domain.com;
root /srv/web/vhosts/$variable/web;
error_log /srv/web/vhosts/$variable/logs/error.log;
access_log /srv/web/vhosts/$variable/logs/access.log;
No entanto, parece que o nginx ignora variáveis nesta configuração. Estou fazendo algo errado ou não é possível usar variável nos caminhos do local?
access_log
/error_log
trabalho com variáveis, mas com algumas limitações.server_name
não pode conter variáveis.$hostname
. Atualizado a resposta para esclarecer esse comportamento.$hostname
é a única variável permitida. github.com/nginx/nginx/blob/... Na verdade, é mais como uma constante mágica, não uma variável real