bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.rvm use 1.9.2 --default
做ruby -v返回ruby 1.9.2p180(2011-02-18修订版30909)[x86_64-linux],所以我相信rvm正确安装了ruby版本.
我创建了我的应用程序,强制使用MysqL数据库,然后生成一个文章控制器:
rails new test_app -d MysqLcd test_apprails g scaffold articles Title:string body:text
现在,当我访问域名时,我看到通常的“欢迎乘坐Ruby on Rails!”屏幕,但如果我点击“关于你的应用程序的环境”链接,我会得到一些看起来像是某种乘客的错误:
Ruby(Rack)应用程序无法启动
应用程序在启动期间(即在config / environment.rb的评估期间)退出.错误消息可能已写入Web服务器的日志文件.请检查Web服务器的日志文件(即不是(Rails)应用程序的日志文件)以找出应用程序退出的原因.如果这没有帮助,请使用下面的回溯来调试问题.
最后,如果我通过SSH连接到服务器并执行rails,我可以看到应用程序在端口3000上正常运行.
我之前从未将应用程序投入生产,所以我很困惑.乘客不使用RVM版本的ruby吗?这些甚至可以在DreamHost共享服务器上使用吗?我该怎么做才能解决这个问题?
任何帮助表示赞赏,谢谢.
解决方法 我已经成功地将一个Rails 3.2.2应用程序部署到Dreamhost.以下是我为自己写的一些笔记.在本地开发机器上
首先,Dreamhost Passenger基于Ruby 1.8.7,而不是Ruby 1.9.2.因此,Dreamhost不会喜欢你的一些Ruby代码,因为它有一些新的键值语法.所以寻找像这样的代码:
key: "value"
并将其更改为Ruby 1.8.7样式(Ruby 1.9.2也可以理解):
:key => "value"
我发现你可以通过这样的方式找到这个代码…这可以在* nix框上更有效地完成,但这是我在windows中安装了一些* nix命令的方法:
egrep -r -i "^.*\w: .*$" . | grep rb
修复语法后,您需要捆绑您的宝石,以便Dreamhost不会抱怨您的机架版本.
$> bundle package
在服务器上(又名Dreamhost)
(在dreamhost上获取文件.就个人而言,我提交并将更改推送到git远程存储库,然后git将它们下载到dreamhost上的私人文件夹.在它们存在之后,我将它们复制到Passenger文件夹中)
然后我从Rails应用程序文件夹(/home/username/www.myapp.com/)运行这些命令:
$> bundle install --path vendor/bundle --local$> rake db:migrate RAILS_ENV="production"$> bundle exec rake assets:precompile$> touch tmp/restart.txt
瞧,这似乎奏效了.如果仍然无法正常工作,请检查log / production.log.
总结以上是内存溢出为你收集整理的ruby – 如何在Dreamhost Rails 3.0.4上部署测试应用程序?全部内容,希望文章能够帮你解决ruby – 如何在Dreamhost Rails 3.0.4上部署测试应用程序?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)