打造你的Laravel即时应用(三)-部署及管理方案
前面博客系列:
在前面的两篇中,我们讲述完了如何构建Laravel即时应用,这篇就来讲述部署和管理方案的一些要点.
(一、)生产环境中部署命令
laravel-echo-server初始化完成后,就会生成laravel-echo-server.json这样的配置文件,我们需要把它提交到git仓库中,方便我们进行部署.
//启动
laravel-echo-server start
//停止
laravel-echo-server stop
//初始化
laravel-echo-server init
(二、)保持进程自启动及后台运行
在生产环境中,我们需要保持laravel-echo-server一直处于启动状态,不能让他突然掉线,或者kill掉实现自启动.
这里我通过supervisor来管理laravel-ehco-server的进程
Supervisor简介 Supervisord 是用Python 实现的一款的进程管理工具,supervisord 要求管理的程序是非daemon 程序,supervisord 会帮你把它转成daemon 程序,因此如果用supervisord 来管理进程,进程需要以非daemon的方式启动
Supervisor的安装和使用,大家可以自行谷歌或百度一下.
下面分享一下我使用的配置
[program:laravel-echo-server]
process_name=%(program_name)s_%(process_num)02d
directory=项目路径
command=laravel-echo-server start
autostart=true
autorestart=true
user=www
numprocs=1
redirect_stderr=true
stdout_logfile=日志路径
部署成功,查看laravel-echo-server是否正常运行
ps aux | grep laravel-echo-server
结尾:
通过laravel-echo-server我们很轻松的完成了WebSocket的组件,避免了很多重复造轮子的工作,同样的组建场景还可以使用在React、React Native中,本文中还有PrivateChannel及Broadcasting Auth没有一一详细叙述到位,有兴趣的同学多翻翻文档吧,就这些了,Happy Coding.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。