为 nginx/passenger 中托管的 rails 应用设置环境变量

为 nginx/passenger 中托管的 rails 应用设置环境变量

如何设置环境变量,以便它们可供托管在 nginx/passenger 中的 rails 应用程序使用?

答案1

如上所述,“sudo env VAR=VALUE nginx”解决了我的问题。

答案2

我尝试了几个不同的 nginx,包括passenger_set_cgi_param、env 和 fast_cgi_param。不幸的是,这些都对我不起作用。最后,我将它们导出为用于启动 nginx 的启动脚本中的 bash 变量。

答案3

实现此目的的一种方法是用包装器脚本替换passenger_ruby。

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

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

Passenger_ruby 是一个 Shell 脚本,内容如下:

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

答案4

你可以试试杜滕gem 从您选择的文件中加载环境变量。

相关内容