Jednak podczas uruchamiania aplikacji na platformach hostingowych w chmurze, takich jak AWS, GCP, Azure itp., lub serwer Nginx, musisz ustawić port do słuchania. Może to stanowić problem, ponieważ port do słuchania jest zdefiniowany w zmiennej środowiskowej.
Nginx nie obsługuje zmiennych środowiskowych w swojej konfiguracji. Nie oznacza to jednak, że nie ma rozwiązania do użycia zmiennych środowiskowych w Nginx.
W tym szybkim przewodniku omówimy sposób korzystania z EnvSubst w Nginx do używania zmiennych środowiskowych.
Co to jest Envsubst?
EnvSubst to narzędzie wiersza poleceń, które pozwala zastąpić wartości zmiennych środowiskowych. Jest to część narzędzi gettext, co oznacza, że jest on dostępny na wszystkich oficjalnych obrazach Docker Nginx, co oznacza, że zastosowanie rozwiązania jest bardzo łatwe. Wszystko, co musimy zrobić, to zastosować EnvsBst na szablonie pliku konfiguracyjnego kontenera Docker
Na przykład dołącz szablon/etc/nginx/szablony/nginx.conf.szablon i dodaj następujący wpis:
Posłuchaj $ nginx_port;
Po skonfigurowaniu szablonu wszystko, co musisz zrobić, to dołączyć go do pliku komponowania Docker jako:
Zdjęcie: Nginx
wolumeny:
- ./szablony:/etc/nginx/szablony
Porty:
- „80”
środowisko:
- Nginx_host = localhost
- Nginx_port = 8080
Po uruchomieniu kontenera odczytuje pliki szablonów określone w wpisie woluminów/etc/nginx/szablon/*.szablony i wywołuje EnvSubstr, który odczytuje przechowywane zmienne środowiskowe. Następnie przechowuje wartość w/etc/nginx/conf.D
Dlatego wpis, taki jak:
Posłuchaj $ nginx_port;
Wyświetli wynik jako:
Posłuchaj 8080;
To pozwala Nginx załadować zmienną z EnvSubst.
Wniosek
Do tego szybkiego przewodnika wykorzystaliśmy narzędzie EnvSubst, aby umożliwić Nginx odczytanie zmiennych środowiskowych.