【问题标题】:Deploy a Rails app on Dreamhost在 Dreamhost 上部署 Rails 应用程序
【发布时间】:2009-08-05 20:01:57
【问题描述】:

我正在尝试部署我的第一个 Rails 应用程序。我将所有文件复制到 ~/mysite.com 并设置了 MySql。

Here's my configuration at Dreamhost.

现在,当我访问 mysite.com 时,我收到 404 错误(这不是我的自定义 404 错误)。好像Passenger不跑了!

我该怎么办?我需要启动Passenger吗? (touch tmp/restart.txt 什么都不做)

【问题讨论】:

  • apache 访问或错误日志是否说明了什么?如果是,请在此处发布。
  • 日志什么也没说 :( 唯一可用的信息在这里:foto-fiori.com
  • 您在使用 VPS 吗? Dreamhost 当前安装了 Rails 2.2.2。您的回溯显示尝试使用 Rails 2.3.3。
  • DH 刚刚将 Rails 更新到 2.3.3 版: $ rails -v => Rails 2.3.3

标签: ruby-on-rails passenger dreamhost


【解决方案1】:

根据您在 http://www.foto-fiori.com/ 的堆栈跟踪,您的生产服务器上似乎缺少一个 gem。检查 environment.rb 配置文件中的 gem 列表并确保安装了所有 gem。您也可以通过 ssh 进入您的应用程序并运行 rake gems

rake gems RAILS_ENV=production

如果 Dreamhost 不允许您安装 Gem,您可能需要冻结它们。

rake rails:freeze:gems

【讨论】:

  • $ rake gems (in /mnt/local/home/collimarco/foto-fiori.com) - [I] mysql - [I] mini_exiftool I = 已安装
  • 您可以在 Dreamhost 上的 Rails 应用程序中运行“脚本/控制台制作”吗?
  • $ 脚本/控制台生产加载生产环境(Rails 2.3.3)>> User.count => 7
  • 有趣,当你 ssh 进入你的dreamhost 服务器时就完成了?我不太熟悉 Dreamhost 的设置方式,但是否有可能安装了多个版本的 Ruby?也许乘客正在使用与您的帐户不同的帐户。不同的版本可能会安装不同的 ruby​​gems 集。
  • 还可以查看 wiki 页面:wiki.dreamhost.com/Passenger。尝试指定 gem 路径,因为它们在那里显示。这是技术说明部分的第 4 点。
【解决方案2】:

首先要检查 4 件事:

  1. 您为域名启用了 Ruby on Rails Passenger (mod_rails)
  2. 您将域名配置指向应用程序的公共目录。
  3. 您的 Rails 版本(截至 2009 年 8 月 5 日,Rails 最高为 2.3.3,但 Dreamhost 为 2.2.2)
  4. 您的所有 gem 依赖项都可以在 Dreamhost、您的主文件夹中获得,或者在您的 rails 应用程序中解压缩。

如果乘客给你一条错误消息,那么你的 rails 应用程序没有启动,但乘客会在 apache 日志中添加一些内容。

这些位于:~/logs/domain.name/http/

这通常是因为错误的 Rails 版本或缺少 gem 或 Dreamhost 环境与您的开发机器之间的其他不匹配。

【讨论】:

  • 现在你可以通过上面的链接看到配置了。
  • 我无法查看该内容,我稍后再试。
  • 现在我从乘客那里得到一个错误:foto-fiori.com 但我不明白问题是什么:日志什么也没说:(
  • 我刚刚编辑了帖子,提供了一些关于如果您看到乘客错误屏幕时需要检查的信息。
猜你喜欢
  • 2023-04-07
  • 2023-03-16
  • 2014-10-26
  • 2011-06-08
  • 1970-01-01
  • 2010-12-22
  • 1970-01-01
  • 2012-03-24
  • 2012-07-12
相关资源
最近更新 更多