gpt4 book ai didi

ruby - 如何在 Dreamhost Rails 3.0.4 上部署测试应用程序?

转载 作者:数据小太阳 更新时间:2023-10-29 07:27:39 34 4
gpt4 key购买 nike

整个周末我都在尝试在 Dreamhost 共享服务器上安装 Rails 3.0.4 应用程序。我关注了this wiki article在服务器上设置我自己的一组 ruby​​gems。此外,我还使用以下命令安装了 rvm 和 ruby​​ 1.9.2:

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 revision 30909) [x86_64-linux],所以我相信 rvm 已经安装了版本 ruby 正确。

我创建了强制使用 mysql 数据库的应用程序,然后生成了一个文章 Controller :

rails new test_app -d mysql
cd test_app
rails g scaffold articles title:string body:text

现在,当我访问该域时,我会看到通常的“欢迎加入,您正在使用 Ruby on Rails!”屏幕上,但如果我点击“关于您的应用程序的环境”链接,我会得到看起来像是某种乘客错误的信息:

无法启动 Ruby (Rack) 应用程序应用程序在启动期间退出(即在评估 config/environment.rb 期间)。错误消息可能已写入 Web 服务器的日志文件。请检查 Web 服务器的日志文件(即不是 (Rails) 应用程序的日志文件)以找出应用程序退出的原因。如果这没有帮助,请使用下面的回溯来调试问题。

最后,如果我通过 SSH 连接到服务器并执行 rails s,我可以看到应用程序在端口 3000 上正常运行。

我以前从未将应用程序投入生产,所以我很困惑。 passenger 没有使用 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 机器上更有效地完成,但这是我在安装了一些 *nix 命令的 Windows 中做的:

egrep -r -i "^.*\w: .*$" . | grep rb

修复语法后,您需要捆绑您的 gem,这样 Dreamhost 就不会提示您的机架版本。

$> bundle package

在服务器上(又名 Dreamhost)

(在 dreamhost 上获取你的文件。就我个人而言,我将更改提交并推送到 git 远程存储库,然后将它们git pull 到 dreamhost 上的一个私有(private)文件夹。在它们到达那里之后,我将它们复制到 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 上部署测试应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5072197/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com