NGINX pode usar variáveis ​​de ambiente?

NGINX pode usar variáveis ​​de ambiente?
Nginx é um poderoso servidor da web e proxy reverso que se tornou uma escolha padrão para a maioria dos desenvolvedores. Com a ascensão da computação em nuvem e recipientes como o Docker, a implantação de vários aplicativos usando o nginx é fácil e eficiente.

No entanto, quando você executa aplicativos em plataformas de hospedagem em nuvem como AWS, GCP, Azure, etc., ou um servidor nginx, você precisa definir a porta para ouvir. Isso pode ser um problema à medida que a porta ouve é definida em uma variável de ambiente.

Nginx não suporta variáveis ​​de ambiente em sua configuração. No entanto, isso não significa que não há solução para usar variáveis ​​de ambiente no nginx.

Neste guia rápido, discutiremos como usar o EnvSubst no Nginx para usar variáveis ​​de ambiente.

O que é EnvSubst?

Envsubst é um utilitário de linha de comando que permite substituir os valores das variáveis ​​de ambiente. Faz parte dos utilitários GetText, o que significa que está disponível em todas as imagens oficiais do Nginx Docker, o que significa que a aplicação da solução é muito fácil. Tudo o que precisamos fazer é aplicar Envsbst no modelo do arquivo de configuração do contêiner do Docker

Por exemplo, inclua um modelo/etc/nginx/modelos/nginx.conf.modelo e adicione a seguinte entrada:

Ouça $ nginx_port;

Depois de configurar o modelo, tudo o que você precisa fazer é incluí -lo no arquivo de composição do docker como:

Imagem: nginx
volumes:
- ./modelos:/etc/nginx/modelos
Portas:
- "80"
ambiente:
- Nginx_host = localhost
- Nginx_port = 8080

Depois de executar o contêiner, ele leu os arquivos de modelo especificados na entrada de volume/etc/nginx/modelos/*.Modelos e chama o EnvSubstr, que lê as variáveis ​​de ambiente armazenadas. Em seguida, ele armazena o valor em/etc/nginx/conf.d

Portanto, a entrada como:

Ouça $ nginx_port;

Produzirá o resultado como:

Ouça 8080;

Isso permite que o nginx carregue a variável do Envsubst.

Conclusão

Para este guia rápido, utilizamos o utilitário EnvSubst para permitir que o NGINX leia variáveis ​​de ambiente.