Ich versuche, meine Nginx-Konfigurationen zu optimieren, damit eine Variable festgelegt werden kann und alle Pfadangaben automatisch aktualisiert werden. Ich habe vier Zeilen in Frage:
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;
Was ich erreichen möchte, ist, eine Variable (in diesem Fall 'php') zu setzen und sie in config aufzunehmen.
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;
Es scheint jedoch so, dass Nginx Variablen in dieser Konfiguration ignoriert. Mache ich etwas falsch oder ist es nicht möglich, Variablen in Standortpfaden zu verwenden?
access_log
Icherror_log
arbeite mit Variablen, aber mit einigen Einschränkungen.server_name
darf keine Variablen enthalten.$hostname
. Die Antwort wurde aktualisiert, um dieses Verhalten zu verdeutlichen.$hostname
ist die einzig erlaubte Variable. github.com/nginx/nginx/blob/… Eigentlich ist es eher eine magische Konstante, keine echte Variable