Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何确保Rails服务器运行_Ruby On Rails_Nginx_Production Environment_Thin - Fatal编程技术网

Ruby on rails 如何确保Rails服务器运行

Ruby on rails 如何确保Rails服务器运行,ruby-on-rails,nginx,production-environment,thin,Ruby On Rails,Nginx,Production Environment,Thin,什么是确保Rails服务器在严重崩溃或进程终止后自动重启的常用方法?如何处理悬挂过程?我的生产服务器上运行了nginx和thin,您建议在它们之间添加一些东西吗?或者使用其他服务器?如果您只想监视应用程序,我总是使用Nagios和Centreon。您可以在rails服务器关闭时设置电子邮件警报。您必须在要监视的每台机器上设置NRPE 当检测到错误时,可以运行bash文件以终止挂起进程并自动重新启动服务器。就我个人而言,我从未使用过它,因为崩溃意味着出了问题。因此,我手动进行检查,以检查所有内容

什么是确保Rails服务器在严重崩溃或进程终止后自动重启的常用方法?如何处理悬挂过程?我的生产服务器上运行了nginx和thin,您建议在它们之间添加一些东西吗?或者使用其他服务器?

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

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

试着看看这里:

首先:

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

寻找:

  • 崩溃前内存不足或负载过高-表示存在配置问题
  • 太新的nginx版本
  • 如果您正在进行虚拟化,这可能会导致linux内核出现一些微妙的问题,从而导致错误。如果您使用的是EC2,那么最好使用AmazonLinux。Ubuntu服务器在这方面太先进了
为了重新启动,我建议您使用monit,因为它快速、简单、可靠——这是正常的方法


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

使用monit或其他一些监控系统()怎么样?