Laravel websockets导致python套接字错误



我使用amazonec2在ubuntu 18.04中安装了一个项目。我可以从我的项目目录中手动测试通过websockets:serve命令运行的websocket服务器。现在我想运行websocket,文档说我需要安装supervisor,我就是这么做的。我在/etc/supervisor/conf.d/websockets.conf中创建了一个配置文件,它有这个配置

[program:websockets]
command=usr/bin/php cd /var/www/html/Inventory/artisan websockets:serve
numprocs=1
autostart=true
autorestart=true
user=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 file

我的/etc目录中没有supervisor.confsupervisor.conf文件和其他文件一样位于/etc/supervisor/supervisor.conf中。

我需要创建一个supervisor.sock文件吗?或者主管会自动创建它?此外,如果我不能解决这个问题,我的第二个办法是通过cronjob运行websocket。这样做对吗?

不管怎样,如果你们对此有想法,请帮忙。谢谢

只需从命令中删除"cd">

[program:websockets]
command=/usr/bin/php /var/www/html/Inventory/artisan websockets:serve
numprocs=1
autostart=true
autorestart=true
user=laravel-echo

你可以在这里找到一些参考文献

[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

从不作为根运行

绝对路径,当然也遵循supervisor配置指南

检查错误日志

在配置的端口上进行网络猫/端口扫描,以确保您不会错过代理/防火墙规则

参考:https://github.com/beyondcode/laravel-websockets/issues/304#issuecomment-590809667

我的临时解决方案,我只是使用cron每年运行一次websockets:serve

51 16 9 5 * cd /var/www/html/Inventory/ && php artisan websockets:serve >> /dev/null 2>&1 >> /var/www/html/Inventory/websockets.log

相关内容

  • 没有找到相关文章

最新更新