Configurando variável de ambiente para consumo de nginx e Rails

Configurando variável de ambiente para consumo de nginx e Rails

O módulo mod_env do Apache oferece uma maneira prática de definir variáveis ​​de ambiente em arquivos de configuração, como:

<VirtualHost *:80>
  ServerName xyz.com
  DocumentRoot /var/www/rails_app/public
  PassengerAppRoot /var/www/rails_app
  SetEnv MY_VARIABLE contents
</VirtualHost>

http://httpd.apache.org/docs/2.0/mod/mod_env.html#setenv

No entanto, no nginx não consegui encontrar nada que servisse ao mesmo propósito. Qual é a alternativa aqui? Pensei em definir variáveis ​​de ambiente em arquivos .profile (estou usando Ubuntu 10.04), mas isso não teria o mesmo isolamento "por vHost" que tenho com o Apache, certo?

Quais são as alternativas aqui?

Responder1

Parâmetro FastCGIpara passagem rápida de cgi ouCabeçalho do conjunto de proxypara quando o proxy passa.

Responder2

Por que não apenas criar um script de inicialização que defina as variáveis ​​de ambiente necessárias antes de chamar nginx ou rails .. e ter um scipt por instância?

Responder3

fastcgi_params permitirá que você defina variáveis ​​de ambiente facilmente. Aqui está um exemplo de adição de variáveis ​​de ambiente usando parâmetros fastcgi com php-fpm:

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param  MY_VARIABLE     contents;
        include        fastcgi_params;
    }

informação relacionada