我使用laravel-echo-server并且一切正常,如果我使用此命令启动服务器:
laravel-echo-server start
我明白了:
L A R A V E L E C H O S E R V R R
版本1.2.8
Starting server...
✔ Running at localhost on port 3001
✔ Channels are ready.
✔ Listening for http events...
✔ Listening for redis events...
Server ready!
但如果我用ctrl + c关闭服务器已被杀死!如果我使用这个命令,同样的事情:
laravel-echo-server start &
如果我断开我的ssh连接,服务器就会停止工作!
如何在后台模式下启动?
谢谢!
答案 0 :(得分:1)
在linux上安装Supervisor。这是一本手册:https://laravel.com/docs/5.4/queues#supervisor-configuration
这是我的主管配置文件:
[program:websocket-server]
process_name=%(program_name)s
directory=/var/www/example.de/public_html/
command=/usr/lib/node_modules/laravel-echo-server/bin/server.js start
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/example.de/logs/websocket-server.log
现在,您可以使用supervisorctl start websocket-server:*
答案 1 :(得分:0)
您也可以使用pm2。在项目内部创建一个json文件,其内容如下:
echo-pm2.json
{
"name": "echo",
"script": "laravel-echo-server",
"args": "start"
}
然后运行下一个命令以在后台启动服务:
pm2 start echo-pm2.json
您可以使用monit pm2工具获取日志:
pm2 monit