在Bluehost上使用Phusion Passenger进行Rails部署

时间:2013-05-21 06:00:57

标签: ruby ruby-on-rails-3 apache passenger bluehost

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

gem install passenger

还跑了:

passenger-install-apache2-module

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

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

  1. 创建了一个子域。
  2. 从指向子域的rails app创建了一个sym链接。
  3. 在我的.htaccess中添加了以下行:
  4.   

    PassengerEnabled On

         

    PassengerAppRoot / home / username / rails_apps / my_app

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

      

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

    我哪里错了?

    提前致谢:)

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

Check 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