3

我正在尝试使用乘客在 Bluehost 上部署 Rails 应用程序,但我一直在失败。我使用以下方法安装了乘客 gem:

gem install passenger

还跑了:

passenger-install-apache2-module

并运行了我所有的数据库迁移并进行了资产预编译

问题是,我试图将它托管在子域上,所以我执行了以下步骤:

  1. 创建了一个子域。
  2. 从指向子域的 rails 应用程序创建了一个符号链接。
  3. 将以下行添加到我的 .htaccess 中:

乘客启用

PassengerAppRoot /home/username/rails_apps/my_app

当我在浏览器中导航到我的域时,它给了我:

内部服务器错误。服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 webmaster@sub.domain.com

我哪里错了?

提前致谢 :)

4

3 回答 3

1

我也尝试做同样的事情,但没有成功,但是当我深入挖掘时,我发现了以下内容:

  • Bluehost 中的 apache 服务器在不同的路径中使用乘客。因此我们的安装不会影响它。

  • Bluehost 的 Passenger3.x 使用 ruby​​ 1.8 作为默认版本,因此无法更改 ruby​​ 版本。

于 2013-07-10T17:39:27.370 回答
1

嘿,您检查过 httpd conf 文件中的用户和组吗?确保如果您在 httpd conf 中有用户/组 www-data,那么您的项目目录应该具有相同的所有者和组。

于 2013-07-01T23:19:43.507 回答
1

检查 Bluehost的 .htaccess 文件中需要包含的内容。我的看起来像这样:

<IfModule mod_passenger.c>
Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
#Set this to whatever environment you'll be running in
RailsEnv production
RackBaseURI /home/rails_apps/my_app
SetEnv GEM_HOME /home/<my_bluehost_username>/ruby/gems
</IfModule>

你应该使用这个命令来找到你的 ruby​​ gems 位置:

gem env
于 2014-09-11T02:05:00.323 回答