启动 node.js 服务的正确方法是什么?

启动 node.js 服务的正确方法是什么?

我正在运行一个 node.js 服务(statsd) 在 CentOS 6 上。守护进程和启动此类服务的正确方法是什么?

潜在的守护进程——守护进程应该是特定于语言的还是通用的?:

服务启动器 - 这些应该来自系统/发行版,还是应该来自诸如 monit 之类的监控工具?:

不幸的是我对此还很陌生——在哪里可以找到最标准、最经典、最可靠的方法?

答案1

应用程序本身是否真的知道如何自我守护?...

如果您的应用程序要作为守护进程运行,是的,它应该完全了解如何将自己作为守护进程运行、写入适当的文件(首先想到的是日志和 PID)以及处理信号。如果不是这样,那真是太糟糕了。

如果您的应用程序并非真正要成为守护进程,或者这不是其主要目的,那么这完全由您决定。如果您想让其他人使用起来更方便,您可能会添加它。如果您想让自己的生活更轻松,您可能会将其省略。无论哪种方式,人们通常都不会有“WTF”的反应。

服务启动器...

每个发行版的软件包/ports 系统应该负责修改您的通用启动/停止脚本以满足他们的特定需求。这通常不是火箭科学,但如果有疑问,请联系您正在使用的发行版的维护人员。

监控工具..

应该知道如何与 Distro 的官方启动/停止机制进行交互,并且应该不知道如何具体与您的程序进行交互(除非您的程序通过报告机制“发布”数据,可能包括 SNMP 服务或类似服务的挂钩;所有这些实际上取决于您的程序的作用)。

相关内容