在Bluehost上部署Rails应用程序

时间:2012-03-06 19:48:11

标签: ruby-on-rails deployment bluehost

我正在尝试在Bluehost中部署我的RoR应用程序,但我遇到了一些麻烦。我希望我的Rails应用程序可以从顶级域访问,即一旦有人访问我的网站URL就可以访问。我已经按照几个教程,并尝试了几种方法,但我仍然没有在哪里。当我访问我的URL(http://hotelelcidacapulco.com/)时,我收到以下消息:没有这样的文件或目录 - config.ru

我认为它一定是Symlink的问题。我尝试过不同的符号链接,但我认为它应该是:

ln -s~ / path / appName / public appname所以这样: ln -s~ / rails_apps / ElCid / public ElCid

但我再次收到错误消息消息:没有这样的文件或目录 - config.ru

同样,我绝对不是专家,但我认为它与符号链接有关。我一直在苦苦挣扎,并且非常感谢帮助,因为我需要尽快让它跑起来。

以下是我的文件:

/home3/hotelelc/public_html/.htaccess文件:

SetEnv GEM_HOME /home3/hotelelc/ruby/gems

<IfModule mod_passenger.c>
Options -MultiViews
PassengerResolveSymlinksInDocumentRoot on
RailsEnv production
RackBaseURI /
SetEnv GEM_HOME /home3/hotelelc/ruby/gems
</IfModule>

AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)/!$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
ErrorDocument 500 "Application error Application failed to start properly"

/home3/hotelelc/.bashrc文件:

export HPATH=/home3/hotelelc/
export GEM_HOME=$HPATH/ruby/gemsexport GEM_HOME=$HPATH/ruby/gems
export GEM_PATH=$GEM_HOME:/usr/lib64/ruby/gems/1.8
export GEM_CACHE=$GEM_HOME/cache
export PATH=$PATH:$HPATH/ruby/gems/bin
export PATH=$PATH:$HPATH/ruby/gems

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

最后,这是我的/config/environment.rb文件:

require File.expand_path('../application', __FILE__)

ElCid::Application.initialize!

ENV['GEM_PATH'] = '/home3/hotelelc/ruby/gems:/usr/lib64/ruby/gems/1.8'

1 个答案:

答案 0 :(得分:1)

尝试将.htaccess文件移动到应用的公共目录而不是public_html。我相信这将是app/public/.htaccess。希望能帮助到你!

是的,我知道这是一个老问题,但对于未来的读者。