Laravel 回显服务器在退出控制台上被杀死

Luc*_*tti 7 laravel laravel-5 laravel-echo

我正在使用 laravel-echo-server 并且一切正常,如果我使用以下命令启动服务器:

laravel-echo-server start
Run Code Online (Sandbox Code Playgroud)

我懂了:

LARAVE选择服务器

版本 1.2.8

Starting server...

?  Running at localhost on port 3001
?  Channels are ready.
?  Listening for http events...
?  Listening for redis events...

Server ready!
Run Code Online (Sandbox Code Playgroud)

但是如果我用 ctrl+c 关闭服务器已经被杀死了!如果我使用这个命令,同样的事情:

laravel-echo-server start &
Run Code Online (Sandbox Code Playgroud)

如果我断开 ssh 连接,服务器将停止工作!

如何在后台模式下启动?

谢谢!

J.C*_*ras 9

我推荐使用pm2工具来管理larval-echo-server服务。安装pm2 后,您必须在 Laravel 项目中创建一个 json 文件,内容如下:

回声pm2.json

{
  "name": "echo",
  "script": "laravel-echo-server",
  "args": "start"
}
Run Code Online (Sandbox Code Playgroud)

然后运行下一个命令在后台启动服务:

pm2 start echo-pm2.json
Run Code Online (Sandbox Code Playgroud)

您可以使用pm2 monit命令进行实时监控或pm2 logs获取服务日志。


pol*_*ixd 4

在 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
Run Code Online (Sandbox Code Playgroud)

现在您可以在后台启动服务器supervisorctl start websocket-server:*