【发布时间】:2020-03-01 13:56:17
【问题描述】:
我正在尝试使用 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
如何在启动和失败、错误或崩溃时监控并启动 laravel-websocket?
我已经调查过Monitor a Laravel Queue Worker with Monit 但没有运气!
【问题讨论】:
标签: laravel bash monit laravel-websockets