Kann Nginx Umgebungsvariablen verwenden?

Kann Nginx Umgebungsvariablen verwenden?
Nginx ist ein leistungsstarker Webserver und Reverse -Proxy, der für die meisten Entwickler eine Standardauswahl geworden ist. Mit dem Anstieg von Cloud -Computing und Containern wie Docker ist es einfach und effizient, mehrere Anwendungen mithilfe von NGINX bereitzustellen.

Wenn Sie jedoch Anwendungen auf Cloud -Hosting -Plattformen wie AWS, GCP, Azure usw. ausführen., oder ein Nginx -Server müssen Sie den Port einstellen, um sie anzuhören. Dies kann ein Problem sein, da der Port zum Anhören in einer Umgebungsvariablen definiert ist.

Nginx unterstützt keine Umgebungsvariablen in seiner Konfiguration. Dies bedeutet jedoch nicht, dass es keine Lösung gibt, um Umgebungsvariablen in Nginx zu verwenden.

In diesem schnellen Leitfaden werden wir diskutieren, wie Sie EnvSubst in Nginx verwenden, um Umgebungsvariablen zu verwenden.

Was ist Umwelt?

Envsubst ist ein Befehlszeilen-Dienstprogramm, mit dem Sie die Werte von Umgebungsvariablen ersetzen können. Es ist Teil der GetText -Dienstprogramme, was bedeutet, dass es in allen offiziellen Nginx -Docker -Bildern verfügbar ist. Dies bedeutet, dass die Lösung sehr einfach angewendet wird. Alles, was wir tun müssen, ist, EnvsBst auf die Vorlage der Konfigurationsdatei des Docker -Containers anzuwenden

Fügen Sie beispielsweise eine Vorlage/etc/nginx/templates/nginx ein.Conf.Vorlage und fügen Sie den folgenden Eintrag hinzu:

Hören Sie $ nginx_port;

Sobald Sie die Vorlage konfiguriert haben, müssen Sie sie lediglich in die Docker -Komponierungsdatei einbeziehen wie folgt:

Bild: Nginx
Bände:
- ./Vorlagen:/etc/nginx/templates
Häfen:
- "80"
Umfeld:
- Nginx_host = localhost
- Nginx_port = 8080

Sobald Sie den Container ausgeführt haben, wurden die im Volumeneintrag/etc/nginx/templates/* angegebenen Vorlagendateien gelesen, die angegeben wurden.Vorlagen und ruft den EnvSubstr, der die gespeicherten Umgebungsvariablen liest. Es wird dann den Wert in/etc/nginx/conf gespeichert.D

Daher der Eintrag wie:

Hören Sie $ nginx_port;

Gibt das Ergebnis als:

Hören Sie 8080;

Dadurch kann Nginx die Variable von envSubst laden.

Abschluss

Für diese schnelle Anleitung haben wir das EnvSubst -Dienstprogramm verwendet, damit Nginx Umgebungsvariablen lesen kann.