繁体   English   中英

如何在Nginx和Unicorn中将Rails 4应用程序强制进入生产模式?

[英]How to force Rails 4 app into production mode in Nginx and Unicorn?

我正在使用Ubuntu,NginX和Unicorn在VPS上运行Rails 4应用程序。

当我通过SSL进入服务器并通过git更新应用程序或在数据库上运行rake任务时,我的应用程序始终会切换到development模式,而无法进入production模式。

键入RAILS_ENV=production似乎完全无效。

当我做

$ rails console
$ Rails.env

我懂了

->发展

每时每刻。

我该怎么办才能迫使NginX进入production模式?

其实,我不想Nginx的永远运行在development模式。

如何做到这一点?

谢谢你的帮助。

默认情况下,您的应用程序可能在生产模式下运行。 您正在做的是使用一个外壳,使用不同的环境。

通常,在生产服务器上,您会将其放入配置文件脚本中:

# Add to ~/.bash_profile
export RAILS_ENV=production

这样,在为rails c供电时,您将获得正确的环境。

值得注意的是,此Shell首先参与的唯一方法是在config/database.yml具有development设置。 那不应该在那里,因为生产服务器的配置应该是仅生产的。

nginx不在开发或生产模式下运行-当您启动独角兽实例时,您的应用程序通过独角兽配置和/或RAILS_ENV环境变量运行。

您应该使用前缀为命令的RAILS_ENV变量启动独角兽实例,例如:

RAILS_ENV=production bundle exec unicorn -c config/unicorn.rb -D

rails console启动一个可能在不同环境中的完全不同的实例-与您的独角兽实例无关。 如果要启动生产控制台实例,请调用RAILS_ENV=production rails consolerails console production 请注意,这与应用程序运行所在的环境无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM