我使用 amazon ec2 在 ubuntu 18.04 中安裝了一個項目。我可以從我的項目目錄中通過命令手動測試運行的 websocket 服務器websockets:serve?,F在我想運行 websockets,文檔說我需要安裝supervisor,這就是我所做的。我創建了一個配置文件/etc/supervisor/conf.d/websockets.conf,它有這個配置[program:websockets]command=usr/bin/php cd /var/www/html/Inventory/artisan websockets:servenumprocs=1autostart=trueautorestart=trueuser=laravel-echo當我這樣做時supervisorctl update,我得到的是error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 228當我也做sudo supervisorctl status我得到的是unix:///var/run/supervisor.sock no such filesupervisor.conf我的目錄中沒有/etc,該supervisor.conf文件就像/etc/supervisor/supervisor.conf其他人遇到的一樣。我需要創建一個supervisor.sock文件嗎?或者主管會自動創建它?另外,如果我不能解決這個問題,我的第二個辦法是通過 cronjob 運行 websockets。這是正確的做法嗎?無論如何,如果你們對此有所了解,請提供幫助。謝謝..
3 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
只需從命令中刪除“cd”
[program:websockets]
command=/usr/bin/php /var/www/html/Inventory/artisan websockets:serve
numprocs=1
autostart=true
autorestart=true
user=laravel-echo

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
[program:laravel-websocket]
command=/path/to/your/php /var/www/vhosts/path/to/yout/artisan websockets:serve
autostart=true
autorestart=true
user=your_user
stderr_logfile=/var/log/supervisor-laravel.websocket.err.log
stdout_logfile=/var/log/supervisor-laravel.websocket.out.log
從不以 root 身份運行
絕對路徑,當然要遵循 supervisord 配置指南
檢查錯誤日志
在配置的端口上執行 netcat/端口掃描,以確保您不會錯過代理/防火墻規則

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
websockets:serve
我的臨時解決方案,我只是用cron每年運行一次。
51 16 9 5 * cd /var/www/html/Inventory/ && php artisan websockets:serve >> /dev/null 2>&1 >> /var/www/html/Inventory/websockets.log
- 3 回答
- 0 關注
- 207 瀏覽
添加回答
舉報
0/150
提交
取消