RoR应用在mongrel开发环境下可以运行,但在生产环境下却不能运行。

3
这是我第一次尝试Ruby on Rails。刚刚在Heroku上部署了一个非常简单的应用程序。
问题是我的应用程序在mongrel开发环境下运行得很完美; 但是当我使用“mongrel_rails start -e production”运行它时,我会收到“抱歉,出了些问题”的错误提示。
我无法解决这个问题。Heroku日志没有返回任何内容,Heroku中的Exceptional插件也没有返回任何内容,而且我找不到我的Windows机器上的mongrel.log(当我使用“mongrel_rails start -e production -d”运行mongrel时)。
我正在使用Rails 2.3.5和sqlite3以及bundler来打包我的gems。
有人告诉我可能是Rails没有正确启动。我找不到其他方法来诊断这个问题。有什么想法吗?
谢谢, ANaimi
3个回答

1

查看您的日志/production.log文件。那里应该包含有关正在发生的详细信息。通常会包含一行指定需要安装的gem名称。

Heroku不使用mongrel,因此我假设这就是您尝试解决为什么在将其推送到heroku时它不起作用的原因。

在大多数情况下,我发现我的heroku问题是由于未安装的gems引起的。确保创建一个gem清单


log/production.log是空的。应用程序在我的生产环境机器上也无法运行(因此可能不是Heroku的问题)。我正在使用Bundler,我认为它是gem清单的更好替代品 - 我错了吗? 感谢快速回复。 - ANaimi
Heroku会将gems与您的项目或本地机器分开处理。它会根据清单文件中的内容将它们安装到您的账户中。当您运行script/server -e production时会发生什么? - Tim Sullivan

0

不确定这个问题是否已经得到明确的答复,但是请检查您的“%app_root%/config/environments/”文件夹,并将“development.rb”与“production.rb”进行比较。

确保您在production.rb文件中拥有所有必要的设置-可能会错过一些重要的内容。


0
尝试在启动时跟踪日志。从日志目录中的终端执行以下操作:tail -f *.log,然后从另一个终端启动应用程序(可能是development.log,因为您可能正在开发模式下运行)。

哦,也有可能是你的生产数据库不包含你需要的内容(也许是空的!)。我在第一次部署时完全犯了这个错误。 - jefflunt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接