Configuración de la variable de entorno para el consumo de nginx y Rails

Configuración de la variable de entorno para el consumo de nginx y Rails

El módulo mod_env de Apache ofrece una forma práctica de configurar variables de entorno en archivos de configuración, 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

Sin embargo, en nginx no pude encontrar nada que sirva para el mismo propósito. ¿Cuál es la alternativa aquí? Pensé en configurar variables de entorno en archivos .profile (estoy usando Ubuntu 10.04), pero eso no tendría el mismo aislamiento "por vHost" que tengo con Apache, ¿verdad?

¿Cuáles son las alternativas aquí?

Respuesta1

Parámetro FastCGIpara pasar fastcgi oEncabezado del conjunto de proxypara cuando se pasa el proxy.

Respuesta2

¿Por qué no simplemente crear un script de inicio que establezca las variables de entorno necesarias antes de llamar a nginx o rails... y tener un script por instancia?

Respuesta3

fastcgi_params le permitirá configurar variables de entorno fácilmente. Aquí hay un ejemplo de cómo agregar variables de entorno usando parámetros fastcgi con 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;
    }

información relacionada