NGINX中的rails_env设置不影响乘客

时间:2014-09-03 07:40:51

标签: nginx passenger

我在NGINX&上安装了一个可用的ruby应用程序。 Phusion / Passenger(ubuntu),我将ruby版本从1.9.2升级到1.9.3。升级后,ruby应用程序使用“生产”环境而不是“开发”。我验证了NGINX配置文件/etc/nginx/nginx.conf:

server {
  listen                        80;
  server_name                   localhost;
  root                          /home/myroot;
  passenger_enabled             on;
  rails_env                     development;
...

我启用了乘客调试日志,在乘客日志中我看到:

I have control 1.0
You have control 1.0
passenger_root: /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
ruby_libdir: /usr/lib/ruby/vendor_ruby
passenger_version: 4.0.50
generation_dir: /tmp/passenger.1.0.5644/generation-0
...
app_type: rack
start_command: /usr/local/rvm/bin/ruby-1.9.3-p484@reveal+--/usr/share/passenger/helper-scripts/rack-loader.rb
startup_file: config.ru
process_title: Passenger RackApp
log_level: 3
start_timeout: 90000
environment: production

为什么rails_env设置不起作用?

1 个答案:

答案 0 :(得分:0)

当您使用Phusion Passenger运行Rails应用程序时,默认情况下,它以“生产”模式运行。但是,如果您想以任何原因在“开发”模式下运行它,则需要在apache / nginx配置中添加指令。

<强> Nginx的:

rack_env development

您可以将以上选项放在以下任何一个位置:

  • 在http配置块中。
  • 在服务器配置块中。
  • 在位置配置块中。
  • 在if配置范围内。