Ruby on Rails部署要求

4

我开始考虑使用RoR来开发我的应用程序,但我对它了解不多。我通常将我的应用程序部署到基于Windows XP或Vista的个人电脑上,并使用SQL Server作为数据库。

哪些是开发Ruby on Rails应用程序的系统要求?


你能成功地设置一个基于Windows的环境吗? - dewdrops
5个回答

9
即使一年前,Ruby on Rails 应用程序部署起来也很麻烦。(我是一个喜欢 Rails 的人,但是不得不这么说。)但是今天,情况要容易得多。不幸的是,我没有在 Windows 服务器上部署 Rails 的经验。不过,我可以告诉你如何在 Linux 上部署。

最简单的设置可能是运行 Apache 和 Phusion Passenger 的 Linux(或 BSD 机器)。大多数 Linux 服务器默认安装了 Apache,而 Passenger 有一个不错的 命令行安装工具

对于数据库,我通常使用 MySQL,尽管如果您需要执行大量复杂查询,则可能更适合使用 PostgreSQL。同样,大多数 Linux 服务器都会安装 MySQL。

至于实际部署过程,我建议使用 Capistrano。这允许您通过一个命令将更新的代码推送到服务器,根据需要更新数据库,甚至在出现问题时还原代码的旧版本。

部署在Windows上的优点是你已经了解它。而在Linux上部署的优点是很多人都熟悉这种设置,并且能够帮助你解决最常见的问题。如果你决定在Windows上部署,我建议你找到一个好的支持社区来回答你的问题。(你离典型的Rails设置越远,你需要知道的东西就越多。所以即使你最终没有选择最大的群体,找到一个较小的群体并跟随他们也会有所帮助。)

1

1

您可以在PC上开发Ruby/Rails应用程序,无需安装除PC上的Ruby、Rails、Ruby Gems和SQLite之外的任何其他工具。 您甚至不需要Web服务器,因为script/server将为您完成工作(这是Ruby中开发Web服务器的实现)。

部署问题比较棘手,但是Rails在这方面已经相当成熟,您可以选择Capistrano和Phusion两种选项。

虽然Windows部署是可能的,但如果您计划在互联网上托管应用程序,则必须部署到虚拟化环境(http://www.morphexchange.comwww.herkugarden.comwww.heroku.com等),或者您将处理基于Linux的虚拟主机或基于Linux的共享主机。 如果使用Capistrano或Phusion,则开发环境会与您的部署环境集成。

实际上,基于*NIX系统的开发环境是我使用过最稳定的。偶尔会遇到宝石在不同平台上表现不佳的问题。由于我的大部分工作都部署在互联网上,因此我的开发环境应尽可能接近我的部署环境,这样更有意义。
如果您打算坚持使用Windows,则最好在部署和开发中都使用相同的平台。

我将部署到内部网络,我的客户不会安装任何服务器操作系统。这就是为什么我将使用Win XP或Vista的原因。谢谢您的回答。 - eKek0

0

我在Windows上卡在了这个问题上,没能很好地解决。也许我可以为某些人节省一些时间。

按照这里的说明,我成功安装了Rails - http://rubyonrails.org/download

但是,在这些说明中我遇到了一个问题: 然后我在命令行中运行 "gem install rails" 安装Rails。它似乎安装了所有内容。 几次显示“未找到文件'lib'”,我不确定这是否是一个问题。 然后我运行 rails new path/to/your/new/application

它在该目录中创建了很多东西,但最后遇到了一个问题:

Gem: InstallError: The 'json' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit from 'http://rubyinstaller.org/downloads' and follow the instructions at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit' 
An error occurred while installing json (1.6.5), and Bundler cannot continue. Make sure that 'gem install json -v '1.6.5'' succeeds before bundling.

我去了这两个网站,想弄清楚接下来该怎么做。我下载了开发工具包并开始安装。

那些指示似乎很有效。在我这样做之后,我再次尝试rails new path/to/your/new/application,没有出现错误。 然后cd C:\www-app 和rails server 它在http://localhost:3000/上正常启动了。太好了。

所以我想要一个真正的Web服务器,可以在Windows上启动。Passenger不支持Windows。直到我尝试过才发现这一点。所以我决定尝试Apache,并通过它使用Mongrel。这些指示看起来很不错 - http://weblog.rubyonrails.org/2006/5/11/deploying-rails-on-windows-servers/

我之前安装过Apache,没什么大问题。然后我按照RailsWithApacheAndMongrel.pdf的步骤去配置Apache,但遇到了很多问题。那份文档已经过时了。我不得不对命令进行多次修改,但最终成功地通过Apache让WEBrick服务于演示Ruby应用程序。当涉及到反向代理时,我发现他们推荐的Ruby插件不支持Rails 3。

接着,我尝试运行Mongrel时出现错误:“因为msvcrt-ruby18.dll文件在您的计算机上丢失”,尽管我使用了“-include-dependencies”选项进行安装。我无法使用Mongrel,最终放弃了。

我真的尽力了。“只需运行此命令”是所有说明都说的话,但事实并不那么简单。如果有人找到一个相当不错的Windows下RoR指南,请告诉我!


0
关于部署,我推荐使用Heroku。我以前和他们合作过,对他们有很多好话要说。易于入门,而且开发时免费。
如果您想设置,请查看《现在开始编程》书籍的部署章节

1
嗯...在整个网站上散布一本书的参考资料可能会被视为垃圾邮件。请不要这样做! - kleopatra
@kleopatra,同意,一个购买书籍的链接是垃圾邮件,而我分享的是免费在线阅读的。这与分享一篇带有一些有用资源的博客文章没有什么不同。 - Alex Tamoykin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接