我在nginx.conf中定义了环境变量,如下所示-
server {
listen 80;
server_name XX.XX.XX.XX; //Masked for this question
location ~ ^/clients/abc(/.*|$) {
alias /home/abc/Project/public$1;
passenger_base_uri /clients/abc;
passenger_app_root /home/abc/Project;
passenger_document_root /home/abc/Project/public;
passenger_enabled on;
passenger_env_var AWS_U disha;
}
}
我重新启动了nginx,但是当我打开rails c
并键入ENV['AWS_U']
时,它将返回nil
。
我可能做错了什么?
答案 0 :(得分:0)
您需要将passenger_env_var
指令移至server
部分。
server {
...
passenger_env_var VAR value;
}
答案 1 :(得分:0)
仅当旅客下载应用程序时设置环境变量。通过rails c
命令启动应用程序时未设置它们。
如果您想了解乘客加载的正在运行的应用程序上的环境变量的值,可以执行临时操作以进行调试:
class DebugController < ApplicationController
def foobar
render plain: "FOOBAR = '#{ENV['FOOBAR']}'"
end
end
Rails.application.routes.draw do
get "/debug/foobar" => "debug#foobar"
end