你如何确保你的Rails服务器正在运行

确保Rails服务器在严重崩溃或进程死亡后自动重启的常用方法是什么? 你如何处理悬挂过程? 我的nginx和瘦我的生产服务器上运行 – 你会build议把他们之间的东西? 或使用另一台服务器?

首先:

您应该确定进程挂起或死亡的原因。 这些不是正常的行为,并指出某处的错误。

寻找:

  • 出现故障之前内存不足或负载过重 – 表示出现配置问题。
  • nginx的版本太新了。
  • 如果你是虚拟化的,这可能会导致Linux内核的一些微妙的问题,可能会导致段错误。 如果您使用EC2,请尽量使用Amazon Linux。 Ubuntu服务器对于这个目的太过分了。

为了重新启动,我建议你使用monit,因为这是快速,简单和可靠 – 这是做这件事的正常方法。

最后,我建议你使用Pingdom这样的东西建立外部监控,因为即使是monit也不会捕捉到每一种类型的故障,比如硬件故障。

如果你只想监视一个应用程序,我总是在Centreon上使用Nagios。 当您的导轨服务器关闭时,您可以设置电子邮件警报。 你必须在你想监视的每台机器上设置你的NRPE。

当检测到错误时,您可以运行一个bash文件来杀死挂起的进程并自动重启服务器。 就我个人而言,我从来没有使用过,因为崩溃意味着出了问题。 所以我手动执行,以检查一切。

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