Può nginx utilizzare le variabili di ambiente?

Può nginx utilizzare le variabili di ambiente?
Nginx è un potente server Web e un proxy inverso che è diventato una scelta predefinita per la maggior parte degli sviluppatori. Con l'aumento del cloud computing e dei contenitori come Docker, la distribuzione di più applicazioni utilizzando NGINX è facile ed efficiente.

Tuttavia, quando si eseguono applicazioni su piattaforme di hosting cloud come AWS, GCP, Azure, ecc., o un server Nginx, è necessario impostare la porta su cui ascoltare. Questo può essere un problema poiché la porta su cui ascoltare è definita in una variabile di ambiente.

Nginx non supporta le variabili di ambiente nella sua configurazione. Tuttavia, ciò non significa che non esista una soluzione per utilizzare le variabili di ambiente in Nginx.

In questa guida rapida, discuteremo di come utilizzare Envsubst in Nginx per utilizzare le variabili di ambiente.

Ciò che è Envsubst?

Envsubst è un'utilità della linea di comando che consente di sostituire i valori delle variabili di ambiente. Fa parte delle utility GetText, il che significa che è disponibile in tutte le immagini ufficiali di Docker Nginx, il che significa applicare la soluzione è molto semplice. Tutto ciò che dobbiamo fare è applicare Envsbst sul modello del file di configurazione del contenitore Docker

Ad esempio, includi un modello/etc/nginx/modelli/nginx.conf.modello e aggiungi la seguente voce:

Ascolta $ nginx_port;

Una volta configurato il modello, tutto ciò che devi fare è includerlo nel file di compositore Docker come:

Immagine: nginx
Volumi:
- ./modelli:/etc/nginx/modelli
Porte:
- "80"
ambiente:
- Nginx_host = localhost
- Nginx_port = 8080

Una volta eseguito il contenitore, ha letto i file del modello specificati nella voce del volume/etc/nginx/modello/*.Modelli e chiama Envsubstr, che legge le variabili di ambiente memorizzate. Quindi memorizza il valore in/etc/nginx/conf.D

Pertanto, l'ingresso come:

Ascolta $ nginx_port;

Emetterà il risultato come:

Ascolta 8080;

Ciò consente a NGINX di caricare la variabile da Envsubst.

Conclusione

Per questa guida rapida, abbiamo utilizzato l'utilità Envsubst per consentire a NGINX di leggere le variabili di ambiente.