Ruby on Rails在IIS上可行吗?

20

我正在编写一个Ruby on Rails应用程序,通常在Heroku或Linux服务器上运行,但我也需要将其部署到Windows服务器上。

该服务器是64位Win2008服务器,安装了IIS 7.0,因此通常我更喜欢使用IIS而不是在旁边设置Apache。

我只是不知道Ruby / Rails是否与IIS兼容?Gems是否可用?64位会有问题吗?

我考虑使用Ruby 1.9.1和Rails 2.3。

6个回答

18
为在IIS 7 64位Windows 2008服务器上安装Ruby on Rails,请使用Helicon Zoo

3
这有一个缺点:如果您已经安装和调试了一份 Ruby 的副本,它不会建议使用它,而是会安装另一个版本,并且将新版本的 Ruby 加入到 PATH 中, 这将破坏以前的安装。还有一件事:Helicon Zoo 可以安装 RoR,但无法卸载 - 您需要手动执行此操作。 - Paul
是的,特别是对于SQL-Server,你需要一个特定的旧版本的Ruby,否则它将无法编译... - Stefan Steiger

14

你一定喜欢痛苦,因为这次部署会很痛苦。我不知道这对你是否有帮助,但在我以前的工作中,我们在Windows平板电脑上部署Web应用程序(超过200个),并决定使用虚拟机VirtualBox来部署应用程序。我们在PC平板电脑上部署了一个旧的应用程序,没有使用IIS,只是用Ruby和RubyGems作为应用程序服务器,并使用Mongrel作为应用服务器和MySQL作为数据库,但使用起来并不令人愉快。


10
这实际上是一个有趣的想法:安装Hyper-V服务器并在其中运行一些Linux。我会记住这个想法。(PS:我是一个SharePoint开发人员,所以我不仅喜欢痛苦,而且正在积极寻求它...) - Michael Stum
如果你想走这条路,让我知道,我或者我的前任老板可能能够给你一些提示。我认为我们在使用VirtualBox编译版本时遇到了一些许可证问题,所以我们不得不从源代码进行编译,这并不是一个简单的过程(我认为他们试图保持这种状态)。 - Jed Schneider

5

5

3
您可以在IIS下部署Rails,但这非常困难,文档也不多。您需要一个特殊的Fast-CGI实现:http://roriis.codeplex.com/。此外,在这里还有一些信息:http://mvolo.com/blogs/serverside/archive/2007/02/18/10-steps-to-get-Ruby-on-Rails-running-on-Windows-with-IIS-FastCGI.aspx
在Windows上使用Apache部署Rails要容易一些,但Windows部署的最大缺点是无法使用Capistrano自动化部署。Gems可在Windows上使用。我的所有经验都是32位的,可能会出现64位相关的故障,但我怀疑这种情况。

0

在 Windows 上使用 RoR 工作时,我会这样做:

1. Install Ruby and RoR
2. Install NginX (balancing for each thin server launched)
3. Install Thin Server
4. Create a service (on Ruby code) that run each thin server process with each affinity process (cpu0/cpu1...) for example if have a DualCore CPU it will launch 2 Thin Server (different port between those) and set affinity for each one (using PID).
5. Set a windows user with permission to do run that service (like a IIS pool and isolated process concept)

我的应用程序已经连续工作了一年以上,没有任何问题,我很满意。


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