我已经开始考虑在RoR中开发我的应用程序,但我不太了解它。我通常将我的应用程序部署到基于Windows XP或Vista的PC,并使用SQL Server作为数据库。
开发Ruby on Rails应用程序的系统要求是什么?
答案 0 :(得分:9)
即使在一年前,Ruby on Rails应用程序也难以部署。 (我说这是喜欢Rails的人。)但今天,情况要容易得多。不幸的是,我没有在Windows服务器上部署Rails的经验。但是,我可以告诉您有关在Linux上部署的信息。
最简单的设置可能是运行Apache和Phusion Passenger的Linux(或BSD机器)。默认情况下,Apache应该安装在大多数Linux服务器上,并且Passenger有一个很好的command-line installation tool。
对于数据库,我通常使用MySQL,但如果你做了很多非常复杂的查询,PostgreSQL可能更适合。同样,MySQL将安装在大多数Linux服务器上。
至于您的实际部署过程,我建议您使用Capistrano。这允许您使用单个命令将更新的代码推送到服务器,根据需要更新数据库,如果出现问题,甚至可以恢复到旧版本的代码。
在Windows上部署的优势在于您已经了解它。在Linux上部署的好处是很多人都熟悉这种设置,并且能够帮助您解决最常见的问题。如果您决定在Windows上部署,我会确保您找到一个好的支持社区来回答您的问题。 (你越偏离典型的Rails设置,你就越需要知道让事情发挥作用。所以,即使你最终没有与最大的人群一起去,也有助于找到一个较小的人群并跟随它们。)< / p>
答案 1 :(得分:1)
部署到Windows当然是可能的,但是工具支持不如Unix风格的操作系统那么好。
Ezra Zygmuntowicz,Bruce Tate和Clinton Begin在“Deploying Rails Applications: A Step-by-Step Guide”一书中有关于Windows部署的整章。另请参阅Brian Hogan撰写的“Deployment Strategies for Rails on Windows servers”文章。
答案 2 :(得分:1)
您可以直接在PC上开发Ruby / Rails应用程序,而无需在PC上使用Ruby,Rails,Ruby Gems和SQLite之外的任何其他必需的安装工具。您甚至不需要Web服务器,因为脚本/服务器将为您完成工作(在Ruby中实现开发Web服务器)。
部署问题比较棘手,但Rails在这方面相当成熟,你有Capistrano和Phusion作为选项。
虽然可以进行Windows部署,但如果您计划在Internet上托管应用程序,则要么部署到虚拟化环境(http://www.morphexchange.com,www.herkugarden.com,www.heroku.com等或者您将处理基于Linux的虚拟主机或基于Linux的共享主机。如果您使用Capistrano或Phusion,开发环境实际上会与您的部署环境集成。
实际上,我在基于* NIX的系统上拥有最稳定的开发环境。偶尔我会遇到一个宝石行为不端的问题,具体取决于平台。由于我的大部分工作都部署在Internet上,因此我的开发环境与部署环境尽可能接近,这更有意义。
如果你的意图坚持使用Windows,那么使用相同的平台进行部署和开发会更好。
答案 3 :(得分:0)
我很难让这一切在Windows上运行得很好。也许我会节省一些时间。
我使用说明安装了rails ok - http://rubyonrails.org/download
但是我在这些说明中遇到了一个问题: 然后我在命令行中运行gem install rails来安装Rails。它似乎安装了一切。它说&#34; file&#39; lib&#39;找不到&#34;几次。我不确定这是不是一个问题。然后我运行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.
我去了这两个网站,想出下一步该做什么。我下载了Dev Kit并开始安装它。
这些指示似乎有效。在我这样做之后,我尝试了rails new path / to / your / new / application 再次完成没有错误。 然后cd C:\ www-app 和rails服务器 它在http://localhost:3000/得到了正确的结果。大。
那么我想要一个真正的Web服务器,我可以用Windows启动。 Windows不支持Passenger。在我尝试之前,这并不明显。所以我决定尝试Apache并通过它使用Mongrel。这些说明看起来不错 - http://weblog.rubyonrails.org/2006/5/11/deploying-rails-on-windows-servers/
我之前安装过Apache,没什么大不了的。然后我浏览了RailsWithApacheAndMongrel.pdf,让它在Apache中运行并遇到了大量问题。那份文件已经过时了。我不得不对命令进行很多更改,但我确实让WEBrick通过Apache服务于演示Ruby应用程序。谈到反向代理的东西,我了解到他们推荐的Ruby插件不支持Rails 3。
然后我在尝试运行Mongrel&#34时遇到错误;因为您的计算机缺少msvcrt-ruby18.dll&#34;即使我安装了-include-dependencies。我无法使用Mongrel并最终放弃了。
我真的很好地尝试了。 &#34;只需运行此命令&#34;是所有指示所说的,而且从来没有那么容易。如果有人在Windows上找到了RoR的中途指南,请告诉我!
答案 4 :(得分:0)
关于部署,我推荐Heroku。我过去和他们一起工作过,我有很多好话要说。易于启动,可免费开发。
如果要进行设置,请查看“立即开始编程”一书的deployment section。