gpt4 book ai didi

node.js - Monit 不启动 Node 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:43 24 4
gpt4 key购买 nike

我已经安装并(希望)配置了 Monit,在 /etc/monit.d 中创建了一个新任务(在 CentOS 6.5 上)

我的任务文件名为test:

check host test with address 127.0.0.1
start program = "/usr/local/bin/node /var/node/test/index.js" as uid node and gid node
stop program = "/usr/bin/pkill -f 'node /var/node/test/index.js'"
if failed port 7000 protocol HTTP
request /
with timeout 10 seconds
then restart

当我运行时:

service monit restart

在我的监控日志中出现:

[CEST Jul  4 09:50:43] info     : monit daemon with pid [21946] killed
[CEST Jul 4 09:50:43] info : 'nsxxxxxx.ip-xxx-xxx-xxx.eu' Monit stopped
[CEST Jul 4 09:50:47] info : 'nsxxxxxx.ip-xxx-xxx-xxx.eu' Monit started
[CEST Jul 4 09:50:47] error : 'test' failed, cannot open a connection to INET[127.0.0.1:7000] via TCP
[CEST Jul 4 09:50:47] info : 'test' trying to restart
[CEST Jul 4 09:50:47] info : 'test' stop: /usr/bin/pkill
[CEST Jul 4 09:50:47] info : 'test' start: /usr/local/bin/node

如果我从命令行运行脚本,我不明白为什么该脚本不起作用:

su node # user created for node scripts
node /var/node/test/index.js

一切正常...

我关注了this tutorial .

如何解决这个问题?谢谢

最佳答案

同样的方法对我来说也不起作用,我所做的是制作一个启动/停止脚本,并将该脚本传递到monit中的启动程序停止程序参数中。
您可以从 here 找到启动/停止脚本的示例
以下是我的 Node.js 应用程序的监控设置

check host my-node-app with address 127.0.0.1
start program = "/etc/init.d/my-node-app start"
stop program = "/etc/init.d/my-node-app stop"
if failed port 3002 protocol HTTP
request /
with timeout 5 seconds
then restart
if 5 restarts within 5 cycles then timeout

关于node.js - Monit 不启动 Node 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24569308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com