1

我运行一个由另一个团队开发的 Rails 应用程序实例。回到我开始的时候,部署 Rails 应用程序的常用方法是在 Apache 后面使用 Mongrel,这就是该团队用于他们自己的实例的配置。因为我是一个 Windows 人,而且由于 Apache 和 Mongrel 都可以很容易地设置为 Windows 服务,所以我使用了一个(虚拟)Windows 盒子并在那里设置了所有东西。

我想自从Rails土地上的事情发生了变化。杂种已经停滞不前(至少这是我对普遍看法的印象)。开发我的应用程序的团队不久前已改用 mod_rails。我并不关心这一切,因为我的 Mongrel 设置继续工作,直到我最后一次与他们的代码同步。显然,他们创建的“服务”模型存在名称冲突,该模型与 mongrel_service 中的模块名称冲突(参见http://aspn.activestate.com/ASPN/Mail/Message/ruby-rails/3497181)。当我要求他们重命名模型时,他们说他们对支持 Mongrel 不感兴趣。

Mongrel 仍然是 Rails 应用程序的有效选择吗?如果没有,是否有在 Windows 下部署的有效替代方案?mod_rails 和 Thin 都不能在 Windows 下运行……还是我应该硬着头皮放弃 Windows 部署,将我的 VM 重新构建为 Linux 机器?

澄清一下:运行它的虚拟机不在我的开发桌面上。这是我们 IT 部门托管的虚拟机,用于生产。我有管理员。如果必须,我可以让 IT 设置 Linux VM。

4

8 回答 8

2

放弃Windows。

两年前,当我还认为自己是“Windows 人”时,我开始在备用笔记本电脑上玩弄 Ubuntu。大约两天后,我意识到我在 Windows 上遇到了多少不必要的麻烦,我决定换掉。

花了一些时间才把所有的东西都设置好,但我估计在过去的两年里,这个转换为我节省了 6 个月的工作效率。对我的生活质量的积极影响是显着的:安装语言和 Web 开发库所花费的时间只是在 Windows 上的一小部分,而且我几乎可以使用那里的任何东西,这意味着我正在学习更多,并获得更多乐趣

我知道这是一个很大的变化,但如果你有一台备用电脑,我强烈建议你试一试。总有一些方法可以让事情在 Windows 上运行,但你真的应该质疑它是否值得付出努力。

于 2009-12-11T21:54:05.553 回答
1

插话。当我不得不在 Windows 上进行部署时,我将 VirtualBox 与 Ubuntu 一起使用。适用于大多数典型网站。不过,如果它是一个更大的站点,您可能很快就会遇到扩展问题。

于 2009-12-11T19:30:32.750 回答
1

带有 jruby 的 Glassfish 在 windows 上效果很好——它可以处理多个请求。

于 2009-12-11T19:38:15.090 回答
1

这并不能直接回答您的问题,但我个人会硬着头皮转向 Linux,安装 Apache 和Passenger,然后就这样继续下去。安装 Ubuntu Server 并安装前面提到的软件是一种非常轻松的体验,您最多应该在一两个小时内启动并运行。

过去,这是我使用过的方法,如果您对 Linux 和/或 Apache 没有太多/任何经验,那么唯一的障碍就是学习曲线。可能值得查看 TekPub 上的“Linux for Softies”系列,其中涵盖了设置这个堆栈。

于 2009-12-11T22:50:36.450 回答
0

Mongrel 仍然是一个有效的选择,但乘客 (mod_rails) 更受欢迎。

您可以尝试使用 Webrick,它作为 Rails 的标准。

script/server webrick

强制使用 Webrick

但如果我是你,我会在我的电脑上安装一个虚拟盒子,带有一个共享文件夹(比你想留在 Windows 上的文件夹),并使用虚拟盒子通过 mod_rails 运行我的应用程序

于 2009-12-11T19:28:25.360 回答
0

如果您必须在 Windows 上做某事,那么我会选择 JRuby 和 Java 应用服务器(如 Glassfish 或 Tomcat)。我不会尝试在 Windows 上使用任何本机 Ruby - 根据我的经验,这只是一个令人头疼的问题。Matz 也承认,Ruby 在 Windows 上的运行速度比在 Unix/Linux 上慢得多(我认为他说慢了将近 20 倍)。现在这可能不是 JRuby 的情况,这也是我推荐它用于 Windows 的原因。

只是我的2美分。

于 2009-12-12T00:27:29.950 回答
0

我知道已经有一段时间了,但是如果您使用 --pre 参数,现在可以在 Windows 上编译。

于 2011-12-16T21:08:16.413 回答
0

不要放弃。Mongrel 在 Windows 上仍然很好,Windows 仍然是 Rails 的良好开发环境。查看您提到的链接问题,该人通过卸载 mongrel_service gem 解决了他的问题。如果您不需要将 mongrel 作为服务运行,而且我猜您不会在您的开发箱上运行,那么您应该没问题。我不知道您正在运行什么版本的 mongrel_service,但如果您可以升级,那将是值得一看的。

于 2009-12-11T20:22:24.063 回答