我试图在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'
解决方法
尝试将.htaccess文件移动到应用程序的公共目录而不是public_html.我相信这将是app / public / .htaccess.希望能帮助到你!
是的,我知道这是一个古老的问题,但对于未来的读者.