我开始考虑使用RoR来开发我的应用程序,但我对它了解不多。我通常将我的应用程序部署到基于Windows XP或Vista的个人电脑上,并使用SQL Server作为数据库。
哪些是开发Ruby on Rails应用程序的系统要求?
我开始考虑使用RoR来开发我的应用程序,但我对它了解不多。我通常将我的应用程序部署到基于Windows XP或Vista的个人电脑上,并使用SQL Server作为数据库。
哪些是开发Ruby on Rails应用程序的系统要求?
最简单的设置可能是运行 Apache 和 Phusion Passenger 的 Linux(或 BSD 机器)。大多数 Linux 服务器默认安装了 Apache,而 Passenger 有一个不错的 命令行安装工具。
对于数据库,我通常使用 MySQL,尽管如果您需要执行大量复杂查询,则可能更适合使用 PostgreSQL。同样,大多数 Linux 服务器都会安装 MySQL。
至于实际部署过程,我建议使用 Capistrano。这允许您通过一个命令将更新的代码推送到服务器,根据需要更新数据库,甚至在出现问题时还原代码的旧版本。
部署在Windows上的优点是你已经了解它。而在Linux上部署的优点是很多人都熟悉这种设置,并且能够帮助你解决最常见的问题。如果你决定在Windows上部署,我建议你找到一个好的支持社区来回答你的问题。(你离典型的Rails设置越远,你需要知道的东西就越多。所以即使你最终没有选择最大的群体,找到一个较小的群体并跟随他们也会有所帮助。)部署到Windows系统当然是可行的,但是工具支持远不如Unix风格的操作系统。
Ezra Zygmuntowicz、Bruce Tate和Clinton Begin合著的书籍“Deploying Rails Applications: A Step-by-Step Guide”中有一整章关于Windows部署的内容。此外,Brian Hogan也撰写了关于在Windows服务器上部署Rails的“Deployment Strategies for Rails on Windows servers”文章。
您可以在PC上开发Ruby/Rails应用程序,无需安装除PC上的Ruby、Rails、Ruby Gems和SQLite之外的任何其他工具。 您甚至不需要Web服务器,因为script/server将为您完成工作(这是Ruby中开发Web服务器的实现)。
部署问题比较棘手,但是Rails在这方面已经相当成熟,您可以选择Capistrano和Phusion两种选项。
虽然Windows部署是可能的,但如果您计划在互联网上托管应用程序,则必须部署到虚拟化环境(http://www.morphexchange.com,www.herkugarden.com,www.heroku.com等),或者您将处理基于Linux的虚拟主机或基于Linux的共享主机。 如果使用Capistrano或Phusion,则开发环境会与您的部署环境集成。
实际上,基于*NIX系统的开发环境是我使用过最稳定的。偶尔会遇到宝石在不同平台上表现不佳的问题。由于我的大部分工作都部署在互联网上,因此我的开发环境应尽可能接近我的部署环境,这样更有意义。我在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指南,请告诉我!