【问题标题】:How do you ensure your Rails server running你如何确保你的 Rails 服务器运行
【发布时间】:2012-05-10 13:02:37
【问题描述】:

确保 Rails 服务器在严重崩溃或进程终止后自动重启的常用方法是什么?你如何处理挂起的进程?我的生产服务器上运行着 nginx 和瘦 - 你会建议在它们之间放置一些东西吗?还是使用其他服务器?

【问题讨论】:

标签: ruby-on-rails nginx production-environment thin


【解决方案1】:

首先:

您应该确定进程挂起或终止的原因。这些不是正常行为,表明某处存在故障。

寻找:

  • 崩溃前内存不足或负载过高 - 表明存在配置问题。
  • 太新的 nginx 版本。
  • 如果您正在虚拟化,这可能会导致 Linux 内核出现许多细微问题,这些问题可能会导致段错误。如果您使用的是 EC2,最好使用 Amazon Linux。 Ubuntu 服务器在这方面太先进了。

为了重新启动,我建议您使用 monit,因为它快速、简单且可靠 - 这是执行此操作的正常方法。

最后,我建议你设置外部监控以及使用 Pingdom 之类的东西,因为即使 monit 也无法捕获所有类型的故障,例如硬件故障。

【讨论】:

    【解决方案2】:

    如果您只想监控应用程序,我总是将 Nagios 与 Centreon 一起使用。您可以在 Rails 服务器关闭时设置电子邮件警报。您必须在要监控的每台机器上设置 NRPE。

    当检测到错误时,您可以运行 bash 文件来终止挂起的进程并自动重新启动服务器。就个人而言,我从不使用它,因为崩溃意味着出现问题。所以我手动进行以检查所有内容。

    试试看这里:http://www.centreon.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-26
      • 2014-03-14
      • 2010-09-06
      • 2012-02-08
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多