
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;
}