0

我正在寻找一个好的 Rails 配置 + 一个网络服务器。实际上,我使用的 webrick 存在一些问题(在 2 台不同的机器上):首先,它在 XXX 时间后崩溃(这不是我的应用程序,它在一个全新的应用程序上随机发生)。其次,它不处理多个请求,而且我的应用程序使用大量小型 ajax 调用,使得网站测试在具有如此小页面的本地服务器上非常慢。

我以为我可以安装 Rails + Apache,但仔细阅读我认为这是不可能的。作为与 Rails 一起使用的网络服务器,最快的配置(支持多线程请求)是什么?

我正在使用 wamp 来处理我的 apache 网络服务器、php、mysql 等(是的,我不是专家,但我可以处理配置文件)。如果可能的话,我想通过那个apache使用rails,我读到我应该使用apache + mongrel(我可以用这种方式处理多个请求吗?)。

我对其他配置也很好,我只需要有人指出我正确的方向,可能还有教程。

所以要求是:

  • 处理并行请求(我有很多小请求)
  • 稳定(webrick 经常崩溃)

非常感谢

编辑1:

对于像我一样使用虚拟主机的人,这是我写的:

<VirtualHost *:8080>
    ServerAdmin admin@federtrek.org.localhost
    DocumentRoot "D:/wamp/www/manage_federtrek_org"
    ServerName federtrek.org.localhost
    ServerAlias manage.federtrek.org.localhost
    ErrorLog "logs/manage.federtrek.org-error.log"
    CustomLog "logs/manage.federtrek.org-access.log" common
    ProxyPass / http://manage.federtrek.org.localhost:3000/
    ProxyPassReverse / http://manage.federtrek.org.localhost:3000/
</VirtualHost>

其中 3000 端口是 mongrel 服务器,8080 是 apache 端口。按照答案中链接的 pdf 文档进行操作。

4

1 回答 1

1

Webrick 不适合生产环境;它应该只用于本地开发。

你在 Windows 上部署 Rails?以前从未听说过这样做。如果是 Linux 或 OS X 并且您坚持使用 Apache,我会推荐 Fusion Passenger(它有点像 Ruby 的 mod_php)。但我不认为他们支持windows。

我认为你最好的选择是 Mongrel ......我认为它在 Windows 下运行。这个想法是您将 Rails 应用程序的一个或多个副本作为 Mongrel 进程(Windows 用语中的服务?)然后您将 Apache 设置为它们的反向代理,也许还进行一些负载平衡。虽然它实际上不是多线程,但它具有相同的好处。(事实上​​,大多数 Rails 部署都使用这种想法,而不是真正的多线程。)

至少在 *nix 上应该有很多教程。我认为Windows的大部分内容都是一样的。快速谷歌搜索产生了这个特定于 Windows 设置的 PDF。http://www.napcsweb.com/howto/rails/deployment/RailsWithApacheAndMongrel.pdf

于 2012-04-09T22:35:17.373 回答