问题标签 [mongrel]

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 投票
6 回答
3549 浏览

ruby-on-rails - 如何优雅地关闭 Mongrel Web 服务器

我的 RubyOnRails 应用程序是使用 Apache 配置背后的常用杂种包设置的。我们注意到我们的 Mongrel Web 服务器内存使用量在某些操作上会变得非常大,我们真的希望能够随时动态地优雅地重新启动选定的 Mongrel 进程。

然而,由于我不会在这里讨论的原因,有时我们在 Mongrel 为请求提供服务时不要中断它是非常重要的,所以我认为简单的进程终止不是答案。

理想情况下,我想向 Mongrel 发送一个信号,上面写着“完成你正在做的任何事情,然后在接受更多连接之前退出”。

对此是否有标准技术或最佳实践?

0 投票
3 回答
9841 浏览

ruby-on-rails - 使用 Mongrel 在 Windows 上运行 Ruby On Rails

让 Ruby On Rails 使用 Mongrel 在 Windows 盒子上工作的最佳教程在哪里?我是服务器管理的新手,所以越详细越好!

0 投票
4 回答
8584 浏览

ruby-on-rails - 如何在 Mongrel 下重启 Rails,而不停止和启动 Mongrel

有没有办法在 Mongrel 运行时重新启动 Rails 应用程序(例如,当您更改插件/配置文件时)。或者快速重启 Mongrel。Mongrel 给出了这些提示,你可以,但你是怎么做到的?

** 信号准备就绪。期限 => 停止。USR2 => 重启。INT => 停止(不重新启动)。

** Rails 信号已注册。HUP => 重新加载(无需重新启动)。它可能无法正常工作。

0 投票
2 回答
2031 浏览

ruby-on-rails - Mongrel 以 100% CPU / EBADF 挂起(错误的文件描述符)

我们有一个服务器,有 10 个正在运行的 mongrel_cluster 实例,它们前面有 apache,并且不时有一个或一些挂起。在数据库中没有看到任何活动(我们正在使用 activerecord 会话)。带有innodb 表的Mysql。show innodb status 显示没有锁。show processlist 什么也不显示。

服务器是linux debian 4.0

Ruby 是:ruby 1.8.6 (2008-03-03 patchlevel 114) [i486-linux]

Rails 是:Rails 1.1.2(是的,很旧)

我们正在使用本机 mysql 连接器(gem install mysql)

“strace -p PID”在循环中为挂起的杂种进程提供以下内容:

使用lsof发现进程使用了​​67个文件描述符(lsof -p PID |wc -l)

有没有其他方法可以调试它,以便例如确定哪个文件描述符是“坏的”?还有其他信息或建议吗?还有人看到这个吗?

该站点被充分使用,但并不过分,平均负载通常在 0.3 左右。


一些额外的信息。我安装了 mongrelproctitle 来显示挂起的进程在做什么,似乎它们挂在一种方法上,该方法使用 file_column / 数据库中的图像 / rmagick 来显示图像以调整图像大小并使图像变为灰度。

问题不在这里,但这是一个怀疑。以下内容有明显问题吗?如果订单不包含图像,则该方法显示静态图像,否则图像会根据订单调整大小。缓存的东西是为了让图像每次都在浏览器中更新。图像被插入到带有普通图像标签的页面中。

代码:

如果有人能在其中找到任何问题,这是 lsof 输出。不知道它在这条消息中的格式...

我已经安装了monit来监控服务器。由于 PID 文件问题,还没有自动重启,但也许我会得到支持删除陈旧 PID 文件的最新版本。
实际解决问题会很好,因为如果服务器需要一直重新启动(每天约 10 次),有人会断开连接等

发生这种情况时,mongrel-processes 不会占用任何大量内存,并且机器甚至没有交换,所以它可能不是内存泄漏。

0 投票
2 回答
389 浏览

ruby-on-rails - mod_rails 和 mongrel 在同一台服务器上运行?

我目前正在运行 mongrel 集群,monit 在一台服务器上监视 8 个 Rails 应用程序。

我想将其中的 7 个应用程序移到 mod_rails,剩下一个在 mongrel 上。7 个较小的应用程序是低容量的,而我想留在 mongrel 上的是一个高容量的应用程序。

据我了解,这将是最好的解决方案 - 因为设置 PassengerPoolIdleTime 只能在全球范围内应用。

对于这种类型的设置,我应该注意哪些配置问题?

0 投票
3 回答
1197 浏览

ruby-on-rails - 如何滚动重启杂种集群

任何人都知道一种通过 capistrano 以“滚动”方式重新启动杂种集群的好方法,例如,一次一个杂种。如果每个人都有一点等待时间,让杂种也加载 rails 应用程序,那就太好了。

我已经进行了一些搜索,但没有找到太多,所以在我自己潜入 mongrel_cluster gem 之前寻求帮助。

谢谢!

0 投票
3 回答
1472 浏览

ruby-on-rails - 为什么在使用 mongrel_rails 启动 ruby​​ on rails 应用程序时出现错误

为什么在尝试使用 ruby​​ on rails 应用程序启动时会出现以下错误

0 投票
2 回答
700 浏览

mysql - 防止 Mongrel/Mysql Errno::EPIPE 异常

我有一个 Rails 应用程序,我很少提供 XML 服务。这是使用 mongrel 和 mysql 运行的。我发现如果我不使用该应用程序超过几个小时,它就会死机并开始抛出 Errno::EPIPE 错误。似乎mysql连接因不活动或类似情况而超时。

可以使用 'mongrel_rails restart -P /path/to/the/mongrel.pid' 重新启动它……但这并不是真正的解决方案。我的合作者希望应用程序在他工作时就在那里(我很可能不在身边)。

我的问题是:

  • 我能做些什么来防止这个问题发生在第一个地方?(例如,不要让我超时!!)。
  • 如果做不到这一点,是否可以在某处插入一些代码来自动重新建立 Db 连接?
0 投票
1 回答
685 浏览

mime - 如何配置 mongrel 返回 mime 类型

如何配置从 mongrel 返回的内容类型。特别地,我希望它以 application/x-javascript 的形式返回一些 javascripts 文件,以尝试重现我在远程服务器上看到的错误

0 投票
11 回答
1361 浏览

mysql - 你最喜欢的 Ruby on Rails 书籍是什么,为什么?

我正在寻找一些关于 RoR 的书籍,以帮助自学如何构建可扩展的 RoR 应用程序。我已经阅读了 RailsS​​pace 的书,今晚将开始阅读 Rails Way 的书。

一些感兴趣的主题是:

  • REST - 考虑使用 Amazon 的 SimpleDB
  • 有效地使用 RSpec
  • memcached - 服务器架构和代码实现
  • mongrel - 服务器架构
  • MySQL