问题标签 [mongrel-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
638 浏览

ruby-on-rails - 在 Windows 上运行 mongrel_rails cluster::start

我已经设法让 mongrel_cluster 在我的 Windows 服务器 (v 1.0.5) 上运行,但我在尝试让它生成所有 (4) 个 mongrel 实例时遇到了麻烦。

它可以启动第一个,但随后不再执行。一个实例运行良好,但其他实例未启动。我认为这是因为:“** 警告:Win32 不支持守护程序模式。” 所以它不会为每个实例分叉进程。

有没有办法解决这个问题?即使我必须手动启动 4 个 'mongrel_rails cluster::start' 也没关系(假设它们启动了集群的正确节点),还是我最好只启动 4 个正常(和分散的)mongrel 实例?

我有两个主要问题:

有没有办法解决这个问题?如果不使用 mongrel_cluster ,我会失去哪些很酷的功能?

0 投票
1 回答
71 浏览

ruby-on-rails - 如何确定 mongrel_cluster 中的每个进程都在处理请求?

我有一个 Rails 应用程序需要一段时间来处理某些请求(因为它处理图像上传)。我目前在一个集群中有三个 mongrel 进程,如果第一个请求很忙,我希望另外两个进程中的一个处理第二个请求。

然而,这似乎并没有发生。如果我观察top服务器上的输出,我可以知道它何时调整图像大小,所以如果我尝试用一​​个简单的请求(通常会很快完成)点击应用程序,它似乎要等到长时间运行的请求在完成。

当我查看 log/mongrel.xxxx.log 文件时,我看到的只是应用程序启动的输出。

如何验证哪个进程实际处理每个请求?

我可以让他们杂种来记录每个请求(即使它只是一个时间戳,比如“GET /path/to/resource”)?

任何想法为什么集群可能不会首先共享负载?

前端 Web 服务器是 nginx,所以也许这就是我应该寻找的地方?nginx access_log 似乎没有任何关于请求被代理到的位置。

0 投票
4 回答
1336 浏览

ruby-on-rails - 无法启动 Mongrel 服务器

我无法启动杂种服务器。当我查看日志文件时,它告诉我我想使用的地址不可用。我试图检查是否有一些服务使用该地址,但我找不到任何服务。

日志文件中的错误消息:

`initialize_without_backlog': 无法分配请求的地址 - bind(2) (Errno::EADDRNOTAVAIL)

任何帮助表示赞赏。

干杯,

0 投票
1 回答
142 浏览

apache - Mongrel 做 IPv6 好吗?

我正在使用 mongrel + apache 2.2 + mod_proxy_balancer。

apache2.2 是 IPv6 很好 http://httpd.apache.org/docs/2.2/en/bind.html#ipv6

Mongrel 做 IPv6 好吗?

平台:RHEL 红宝石:1.8.6

0 投票
0 回答
322 浏览

ruby-on-rails - 将 USR2 发送到 mongrel_rails 有时会导致重新启动时出现“地址已在使用中”

我们的 mongrel 集群有一个滚动重启模式,它向每个正在运行的进程发送一个 USR2 信号。

这在大多数情况下都很好用。但是非常偶尔会关闭 mongrel 进程,然后无法重新启动,并出现以下错误:

查看 mongrel 源代码,USR2 处理程序在正在运行的服务器上调用同步停止,因此它应该阻塞直到套接字被释放。

有没有人看到这个错误?

有没有人有任何想法可能导致它?

0 投票
1 回答
317 浏览

ruby-on-rails - Ruby on Rails:如何在启动期间检测集群中的特定 mongrel 实例?

我们运行一个包含六个杂种的应用程序。我们添加的一项新功能是调度程序 (rufus-scheduler),它在 mongrel 中运行并提供类似 cron 的后台任务处理。我们只想在我们的一个 mongrel 上运行这个调度程序,但我们无法弄清楚在启动期间 (environment.rb) 是如何识别特定的 mongrel 来启动调度程序的。

我们已经设置了一个 yaml 文件,其中设置了我们希望启动调度程序的 mongrel 的端口号。在启动期间,在 enviromnent.rb 中,我们想查询 yaml 文件,获取端口,然后将其与正在启动的实例进行比较——如果相同,则启动调度程序。

最近有人回答说我们应该看看 request.port —— 启动时没有请求对象。端口号还存储在哪里?或者,我们如何将 parm 传递给单个杂种,或者让它与设置进行比较以识别自己?

提前致谢...

罗素

0 投票
1 回答
165 浏览

ruby-on-rails - 在单个服务器上部署多个 Rails 应用程序的资源效率最高的方法

我有一个虚拟专用服务器,我用它来托管不足以证明自己的专用切片的小型网站。我是一名 Rails 开发人员,目前正在使用 Ubuntu/Nginx/Mongrel Cluster/SQLite 堆栈来部署这些应用程序。

感觉每个 Mongrel 实例消耗的内存太高了。我想知道为这些应用程序提供服务的推荐方法是将资源使用量降至最低。我听说不再推荐 Mongrel 来支持Passenger。不过,我继续使用 Mongrel,因为我觉得它更轻量级。不过,这对我来说可能是一个完全的误解。

有任何想法吗?

0 投票
1 回答
580 浏览

ruby-on-rails - 如何在 Apache + Mongrel 应用程序中平衡负载

我想知道是否有人可以解释如何平衡 Rails 应用程序。

两个问题:

  1. 它甚至有助于让单独的 Rails 应用程序从同一个专用服务器中的同一个数据库中读取吗?

  2. 我了解 Apache 可以平衡负载安装一些额外的模块?我对吗?我们怎样才能做到这一点?(请提供假人的解释)

0 投票
1 回答
92 浏览

ruby-on-rails - Mongrel 没有检测到 Rails 类的变化?

我在运行 Apache 2 和 Ubuntu LTC 10.04 的 Slicehost 服务器上安装了一个 Rails 应用程序。到目前为止,一切都很顺利:我编辑一个文件,做一个快速的,所做mongrel_rails cluster::restart的更改会反映在生产中。然而,这个过程突然中断了。

例如,我有一个名为Master位于的类/lib/master.rb。我在这个类中添加了一个新方法,它只是运行puts "it works!",然后重新启动了 mongrel 集群。查看生产日志,服务器抛出错误,认为该方法不存在。但是,当我使用 进入控制台ruby script/console production时,我可以完美地使用这种新方法。我什至尝试删除包含整个Master班级的文件。再一次,生产认为它仍然存在,但生产控制台正确地识别出它丢失了。

有任何想法吗?生产环境如何检测一个甚至不再存在的类?

0 投票
1 回答
1262 浏览

ssl - nginx + SslRequirement + mongrel 集群 = 无限重定向循环

向我的网站添加 SSL 支持后,我得到一个无限重定向循环。我正在使用“SslRequirement”插件。

我看到的症状是,任何启用了“ssl_required”的操作,以及我手动输入的任何前面有 https 的 URL,都会进入无限循环,在 development.log 文件中反复出现以下内容直到浏览器捕捉到重定向循环并停止加载页面(“/admins/index”是本示例中的操作,但任何操作都会发生):

起初,我认为存在某种问题,我必须将所有操作都设置为“ssl_allowed” - 所以我尝试了这一点,但无济于事。

如果我删除了 SslRequirement 的使用,并删除了任何“ssl_required/ssl_allowed”引用,那么 https 工作正常 - 所以从 http 到 https 的操作重定向似乎是问题所在。

有什么线索吗?