Настройка переменной среды для использования nginx и Rails

Настройка переменной среды для использования nginx и Rails

Модуль Apache mod_env предлагает удобный способ настройки переменных среды в файлах конфигурации, например:

<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

Однако в nginx я не смог найти ничего, что служило бы той же цели. Какая здесь альтернатива? Я думал о настройке переменных окружения в файлах .profile (я использую Ubuntu 10.04), но это не будет иметь ту же изоляцию "per vHost", что у меня есть с Apache, верно?

Какие здесь есть альтернативы?

решение1

Параметры FastCGIдля fastcgi прохождения илиЗаголовок набора проксидля случаев передачи прокси.

решение2

Почему бы просто не создать скрипт запуска, который устанавливает необходимые переменные среды перед вызовом nginx или rails... и иметь по одному скрипту на экземпляр?

решение3

fastcgi_params позволит вам легко устанавливать переменные окружения. Вот пример добавления переменных окружения с помощью fastcgi params с 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;
    }

Связанный контент