Назад | Перейти на главную страницу

Установите переменные среды для приложения rails, размещенного в nginx / пассажира

Как установить переменные среды, чтобы они были доступны моему приложению rails, размещенному внутри nginx / пассажира?

Один из способов добиться этого - заменить имя пассажира_ruby сценарием-оболочкой.

http {
    ...
    passenger_ruby /usr/bin/ruby

к

http {
    ...
    passenger_ruby /path/to/passenger_ruby

пассажир_ruby - это сценарий оболочки со следующим содержимым:

#!/bin/sh
export MY_ENV="value"
exec "/usr/bin/ruby" "$@"

Как упоминалось выше, «sudo env VAR = VALUE nginx» решила мою проблему.

Я пробовал несколько разных nginx, включая пассажира_set_cgi_param, env и fast_cgi_param. К сожалению, ни один из них не помог мне. В конце концов, я экспортировал их как переменные bash в сценарий запуска, который я использовал для запуска nginx.

Можешь попробовать dotenv gem, который загружает переменные env из файла по вашему выбору.