Laravel echo服务器在出口控制台上被杀死

时间:2017-06-17 13:00:54

标签: laravel laravel-5 laravel-echo

我使用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连接,服务器就会停止工作!

如何在后台模式下启动?

谢谢!

2 个答案:

答案 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