在 https://github.com/ruby-china/ruby-china/blob/master/config/unicorn.rb 上看到有这样一行:
rails_env = ENV["RAILS_ENV"] || "production"
看起来是和设置项目运行模式:production 和 development, 我自己这边试下来没起作用,还是需要通过 unicorn_rails 命令时添加 -E 参数, 求个说明,还是我这边有其他配置问题导致没作用?
ENV["RAILS_ENV"] || "production"
这个的意思是如果 ENV["RAILS_ENV"] 有内容就用 ENV["RAILS_ENV"],否测用 production 你试的时候是修改 ENV["RAILS_ENV"] 么?
sorry,我没有说清楚,我是想知道 rails_env 和我们项目中的 Rails.env 有关系么?
RAILS_ENV 是在 Bash 里面设置的环境变量,你可以用
export RAILS_ENV=production
来设置,可以用
$ echo $RAILS_ENV
来查看, ENV["RAILS_ENV"] 调用的就是 Bash 里面的环境变量,而 Rails.env 也是基于这个环境变量来的,当然你可以设置某些参数强制覆盖环境变量来启动
ENV["RAILS_ENV"]
那代码中 rails_env 这个变量的作用是什么?
rails_env
#4 楼 @luoping0425 目测这个变量没有用处,可以去掉了。
#5 楼 @lgn21st 我也觉得这样,所以就疑惑,顺便问了一下,Thanks! 被自己坑了一下,一开始没仔细看以为和 Rails.env 一样的作用,后来就明白了,谢谢 @huacnlee and @lgn21st !