我试图用 monit 而不是 supervisord 监视 laravel-websocket,因为它提供了更多选项所以在我的 /home/rabter/laravelwebsocket.sh 中:
#!/bin/bash
case $1 in
start)
echo $$ > /var/run/laravelwebsocket.pid;
exec 2>&1 php /home/rabter/core/artisan websockets:serve 1>/tmp/laravelwebsocket.out
;;
stop)
kill `cat /var/run/laravelwebsocket.pid` ;;
*)
echo "usage: laravelwebsocket.sh {start|stop}" ;;
esac
exit 0
在 etc/monit.d 我用代码创建了一个名为 cwp.laravelwebsocket 的文件
check process laravelwebsocket with pidfile /var/run/laravelwebsocket.pid
start program "/bin/bash -c /home/rabter/laravelwebsocket.sh start"
stop program "/bin/bash -c /home/rabter/laravelwebsocket.sh stop"
if failed port 6001 then restart
if 4 restarts within 8 cycles then timeout
不幸的是,随着我运行 monit,一切都开始受到监控,但 laravel websocket,它不会启动一次,并且在前面的 monit table 中我看到了
Process - laravelwebsocket Execution failed | Does not exist
如何使 monit monitor 并在启动时启动 laravel-websocket 失败或错误或崩溃?
我研究了用 Monit 监控 Laravel 队列工作人员, 但没有运气!