安装supervisor并配置laravel-echo-server

记录一下

  • 安装supervisor
  • 配置启动laravel-echo-server
    • 前提条件
    • 配置
    • 关于报错

  • 服务器 :阿里云服务器
  • 系统 : centos
  • web集成环境: 宝塔

安装supervisor

我是看的这篇文章进行安装的
仅记录一下注意点

  • 配置supervisord.conf文件的时候最重要的是最后的[include]那里 [include]前面的分号也要去掉 路径和扩展名则随意设置即可
  • unix_http_server 可以根据个人需求设置

配置启动laravel-echo-server

前提条件

  • 服务器上项目example.com已经配置好
  • laravel-echo-server 已经安装好 在项目里使用laravel-echo-server start可以启动laravel-echo-server
  • 已安装好supervisor

配置

  1. supervisord.conf文件中设置的目录下创建相应扩展名的文件, 命名随意
    我配置的是 /etc/supervisord.d/*.conf
  • 一定要注意[include]前面的分号要去掉 否则配置是不生效的

我配置的是 /etc/supervisord.d/*.conf 所以在/etc/supervisord.d目录下创建了notic-laravel-echo-server.conf
2. 内容如下

[program:notice-laravel-echo-server]        ;项目名称为 notice-laravel-echo-server

process_name=%(program_name)s_%(process_num)02d  ;这行我不知道是啥意思

;运行脚本
command=/www/server/nvm/versions/node/v12.14.1/bin/laravel-echo-server start --dir=/www/wwwroot/example.com          
;错误日志
stderr_logfile=/var/log/supervisor/error_notice-laravel-echo-server.log        

;输出
stdout_logfile=/var/log/supervisor/notice-laravel-echo-server.log        

directory=/www/wwwroot/example.com/

;当supervisor 启动时会自动启动
autostart= true        

;用户
user= root       

;自动重启
autorestart= true
  1. 注意点
  • 主要看commanddirectory 两行
  • 一般开启laravel-echo-server 只需要laravel-echo-server start 但是 supervisor 好像没法使用注册到path里的路径 所以这里写成绝对路径 指令 which laravel-echo-server 获取自己服务器上laravel-echo-server的绝对路径 所以command那行就成了 /www/server/nvm/versions/node/v12.14.1/bin/laravel-echo-server start 后面加--dir=/www/wwwroot/example.com表示要执行的目录在example.com下
  • directory 的作用也是标注 这个指令要在哪个目录下执行 command 里的后半段是以防万一

关于报错

在使用supervisorctl status查看时报BACKOFF Exited too quickly (process log may have details) 查看配置的报错log文件里显示/usr/bin/env: node: No such file or directory/usr/bin/env: node: 没有这个文件或目录 也是因为supervisor 好像没法使用注册到path里的路径。
解决办法为:

  • which node,获取的node的绝对路径
  • 然后ln -s /path/to/node /usr/bin/node创建软链即可
  • 最后重启supervisor查看是否成功

你可能感兴趣的:(PHP)