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.