Responder 
 
Avaliação do Tópico:
  • 1 Votos - 5 Média
  • 1
  • 2
  • 3
  • 4
  • 5
[RESOLVIDO] Como fazer o Nginx ler as variáveis de ambiente do Linux?
06/10/2011, 18:20 (Resposta editada pela última vez em: 16/10/2011 12:24 por darkbr.)
Resposta: #1
[RESOLVIDO] Como fazer o Nginx ler as variáveis de ambiente do Linux?
Tenho um servidor Nginx rodando junto com o PHP, porém não consigo fazer com que as aplicações que precisam acessar o banco de dados Oracle se conectem ao banco, pois preciso acessar as variáveis de ambiente do Linux chamadas ORACLE_HOME e LD_LIBRARY_PATH.
Já quando utilizo o Apache, consigo ler e executar as aplicações perfeitamente, porém quando uso Nginx, não consigo.

Ao executar o comando env no Linux, após exportar as variáveis da biblioteca do Oracle, tenho listado na tela os caminhos abaixo.

LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/


Alguém pode ajudar?Confuso

A vida é só um jogo cheio de fases.
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
10/10/2011, 16:25 (Resposta editada pela última vez em: 10/10/2011 16:27 por sistematico.)
Resposta: #2
RE: Como fazer o Nginx ler as variáveis de ambiente do Linux?
No /etc/profile(ou outro que achar mais conveniente) você pode colocar assim:
Código:
export LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
export ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/
Se der errado avisa.

Lucas Saliés Brum
site | blog | telegram | medium | vk | twitter | github | .share
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
16/10/2011, 12:21 (Resposta editada pela última vez em: 06/11/2011 07:20 por darkbr.)
Resposta: #3
RE: Como fazer o Nginx ler as variáveis de ambiente do Linux?
(10/10/2011 16:25)sistematico Escreveu:  No /etc/profile(ou outro que achar mais conveniente) você pode colocar assim:
Código:
export LD_LIBRARY_PATH=/usr/local/instantclient_11_2/
export ORACLE_HOME=/usr/local/instantclient_11_2/network/admin/
Se der errado avisa.

Olá e obrigado pela resposta.

Da maneira acima não funciona, pois o export está setando no Linux 2 variáveis de ambiente que já foram setadas exatamente desta forma no SO.

O que descobri é que o Nginx limpa todas as variáveis de ambiente quando inicia e que também ele não lê nenhum tipo de variável de ambiente do SO porque foi projetado para receber requisições mesmo estando em outro servidor, daí o motivo.

O correto a ser feito é passar os parâmetros no arquivo nginx.conf via fastcgi com aspas duplas setadas no caminho para onde a variável irá apontar, como o exemplo abaixo.


fastcgi_param ORACLE_HOME "/usr/local/instantclient_11_2/network/admin";
fastcgi_param LD_LIBRARY_PATH "/usr/local/instantclient_11_2";


Deste jeito irá funcionar.

A vida é só um jogo cheio de fases.
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
Responder 


Ir ao Fórum:


Usuários visualizando este tópico: 2 Visitantes

Entre em Contato | Fórum Debian | Voltar ao Topo | Voltar ao Conteúdo | Modo Leve (Arquivo) | Feeds RSS