【问题标题】:Can't make passenger (for rails) running my apps in production mode无法让乘客(用于 Rails)在生产模式下运行我的应用程序
【发布时间】:2015-04-30 00:44:07
【问题描述】:

首先:版本! 导轨 4 乘客:不知道,最后一个是我直接在服务器上编译的。 Nginx:也是最后一个。

所以,我的问题是: 我正在尝试使用 nginx 和乘客制作一个在生产中运行的 rails 应用程序,但直到现在我才成功。它仍处于开发模式。

乘客文档中告诉我们,默认模式是“生产”,但是当我在配置文件 /app/config/databases 中评论“开发”部分时,乘客一直告诉我运行模式是“开发” .yml.

我尝试在启动乘客的用户的 .bash_profile 文件中定义环境变量 rails_env、passenger_app_env、rack_env、wsmi_env(或类似的东西)、node_env。

没有变化。

我添加了“rails_env 生产;passenger_app_env 生产;”在 nginx conf 文件中,但它没有帮助。

有人可以帮忙吗?

非常感谢您的阅读。 ;)


编辑 1: 我仍然收到以下错误:

'development' database is not configured. Available: ["abc", "production"] (ActiveRecord::AdapterNotSpecified)

即使调试信息告诉我们:

Environment (value of RAILS_ENV, RACK_ENV, WSGI_ENV, NODE_ENV and PASSENGER_APP_ENV):
    development

如果我检查我的环境变量,我就会明白:

$ env | grep pro
RACK_ENV=production
WSGI_ENV=production
NODE_ENV=production
RAILS_ENV=production
PASSENGER_APP_ENV=production

有什么想法吗?

【问题讨论】:

  • 你运行过“bundle install --deployment”吗?
  • 更改 nginx.conf 文件后是否重新启动/重新加载了 nginx?
  • @japed:我运行了“捆绑安装”。不够?我仍然是 Rails 配置的初学者。 @maxd:是的,我做到了。
  • 可能你有this的问题。
  • 谢谢@maxd。我正在尝试只运行一个应用程序,因此不同的运行模式之间不会发生冲突。

标签: ruby-on-rails nginx passenger


【解决方案1】:

好吧,我终于发现了问题所在。

我使用 /etc/rc.local 文件中的乘客启动命令启动了 rails 应用程序,但我的环境变量尚未加载,因此乘客确实在开发模式下运行...

谢谢大家。

【讨论】:

    猜你喜欢
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多