最新公告
  • 欢迎您光临三优资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • crmeb pro 消息队列 Linux命令行配置

    LINUX 命令行配置方法

    一定要解禁对应PHP版本中的 proc_open函数,否则无法启动消息队列

    一. Supervisor安装

    1. 配置好yum源后,可以直接安装
    yum install supervisor
    

    二. Supervisor使用

    Supervisor配置文件:/etc/supervisor/conf
    注:Supervisor的配置文件默认是不全的,不过大部分默认的情况下,基本功能已满足使用
    子进程配置文件路径:/etc/supervisor.d/
    注:默认子进程配置文件为ini格式,可在supervisor主配置文件中修改
    子进程配置文件说明:
    需要管理的子进程编写一个配置文件,放在/etc/supervisor.d/目录下以.ini作为扩展名
    子进程配置实例,可直接复制此例子,需要修改directory为自己的项目根目录

    #进程名
    [program:crmeb] 
    #启动命令
    command=php think queue:listen --queue CRMEB
    #执行脚本目录
    directory=/web/wwwroot/wwwwpro/beta/CRMEB_PRO/
    #守护进程启动时是否同时启动
    autorestart=true
    #启动多少秒后状态判定
    startsecs=3
    #启动失败尝试次数
    startretries=3
    #日志输出
    stdout_logfile=/www/server/panel/plugin/supervisor/log/PRO消息队列.out.log
    stderr_logfile=/www/server/panel/plugin/supervisor/log/PRO消息队列.err.log
    #日志文件大小
    stdout_logfile_maxbytes=2MB
    stderr_logfile_maxbytes=2MB
    # 启动用户
    user=www
    # 进程优先级值越小优先级越大,取值范围:999-1
    priority=999
    # 同时启动多少个进程
    numprocs=1
    # 进程名
    process_name=%(program_name)s_%(process_num)02d
    

    三. supervisor命令说明

    supervisorctl status        //查看所有进程的状态
    supervisorctl stop crmeb       //停止crmeb
    supervisorctl start crmeb      //启动crmeb
    supervisorctl restart       //重启crmeb
    supervisorctl update        //配置文件修改后使用该命令加载新的配置
    supervisorctl reload        //重新启动配置中的所有程序
    

    注:把crmeb换成all可以管理配置中的所有进程。直接输入supervisorctl进入supervisorctl的shell交互界面,此时上面的命令不带supervisorctl可直接使用。

    四. 注意事项

    使用supervisor进程管理命令之前先启动supervisord,否则程序报错。
    使用命令supervisord -c /etc/supervisord.conf启动。
    若是centos7

    systemctl start supervisord.service     //启动supervisor并加载默认配置文件
    systemctl enable supervisord.service    //将supervisor加入开机启动项
    

    五. 配置文件说明

    supervisor.conf配置文件说明

    [unix_http_server]
    file=/tmp/supervisor.sock   ;UNIX socket 文件,supervisorctl 会使用
    ;chmod=0700                 ;socket文件的mode,默认是0700
    ;chown=nobody:nogroup       ;socket文件的owner,格式:uid:gid
     
    ;[inet_http_server]         ;HTTP服务器,提供web管理界面
    ;port=127.0.0.1:9001        ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
    ;username=user              ;登录管理后台的用户名
    ;password=123               ;登录管理后台的密码
     
    [supervisord]
    logfile=/tmp/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
    logfile_maxbytes=50MB        ;日志文件大小,超出会rotate,默认 50MB,如果设成0,表示不限制大小
    logfile_backups=10           ;日志文件保留备份数量默认10,设为0表示不备份
    loglevel=info                ;日志级别,默认info,其它: debug,warn,trace
    pidfile=/tmp/supervisord.pid ;pid 文件
    nodaemon=false               ;是否在前台启动,默认是false,即以 daemon 的方式启动
    minfds=1024                  ;可以打开的文件描述符的最小值,默认 1024
    minprocs=200                 ;可以打开的进程数的最小值,默认 200
     
    [supervisorctl]
    serverurl=unix:///tmp/supervisor.sock ;通过UNIX socket连接supervisord,路径与unix_http_server部分的file一致
    ;serverurl=http://127.0.0.1:9001 ; 通过HTTP的方式连接supervisord
     
    ; [program:xx]是被管理的进程配置参数,xx是进程的名称
    [program:xx]
    command=/opt/apache-tomcat-8.0.35/bin/catalina.sh run  ; 程序启动命令
    autostart=true       ; 在supervisord启动的时候也自动启动
    startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
    autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
    startretries=3       ; 启动失败自动重试次数,默认是3
    user=tomcat          ; 用哪个用户启动进程,默认是root
    priority=999         ; 进程启动优先级,默认999,值小的优先启动
    redirect_stderr=true ; 把stderr重定向到stdout,默认false
    stdout_logfile_maxbytes=20MB  ; stdout 日志文件大小,默认50MB
    stdout_logfile_backups = 20   ; stdout 日志文件备份数,默认是10
    ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
    stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
    stopasgroup=false     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
    killasgroup=false     ;默认为false,向进程组发送kill信号,包括子进程
     
    ;包含其它配置文件
    [include]
    files = relative/directory/*.ini    ;可以指定一个或多个以.ini结束的配置文件
    
    六. 常见问题
    • unix:///var/run/supervisor.sock no such file
      问题描述:安装好supervisor没有开启服务直接使用supervisorctl报的错
      解决办法:supervisord -c /etc/supervisord.conf
    • command中指定的进程已经起来,但supervisor还不断重启
      问题描述:command中启动方式为后台启动,导致识别不到pid,然后不断重启,这里使用的是elasticsearch,command指定的是$path/bin/elasticsearch -d
      解决办法:supervisor无法检测后台启动进程的pid,而supervisor本身就是后台启动守护进程,因此不用担心这个
    • 启动了多个supervisord服务,导致无法正常关闭服务
      问题描述:在运行supervisord -c /etc/supervisord.conf之前,直接运行过supervisord -c /etc/supervisord.d/xx.conf导致有些进程被多个superviord管理,无法正常关闭进程。
      解决办法:使用ps -fe | grep supervisord查看所有启动过的supervisord服务,kill相关的进程。
    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3165260857@qq.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!


    三优资源网 » crmeb pro 消息队列 Linux命令行配置

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    三优资源网
    一个高级程序员模板开发平台

    发表评论

    • 162会员总数(位)
    • 1099资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 574稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情