我想在Bluehost中部署我的RoR應用程序,但我遇到了一些麻煩。我希望我的Rails應用程序可以從頂級域訪問,即一旦有人訪問我的網站URL即可訪問。我跟着幾個教程,並嘗試了幾種方法,但我仍然沒有得到任何地方。當我訪問我的URL(http://hotelelcidacapulco.com/)時,我收到以下消息:沒有這樣的文件或目錄 - config.ru在Bluehost上部署Rails應用程序
我認爲它必須是Symlink的問題。從來就嘗試了不同的符號鏈接,但是我覺得應該是:
LN -s〜/路徑/應用程序名稱/公共應用程序的名字所以是這樣的: LN -s〜/ rails_apps/ELCID /公共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'
不應該RackBaseURI被公開嗎? – simonmorley 2012-12-30 12:17:20
我試過RackBaseURI爲/ public,並打破了。只是爲未來的讀者一個筆記。 – 2014-02-27 17:04:44