配置supervisor管理beego应用

栏目: Go · 发布时间: 6年前

内容简介:github项目地址:克隆项目:git clone进入项目:cd supervisor

一、 golang、beego等环境安装与配置

二、supervisor安装

github项目地址: https://github.com/Supervisor/supervisor

克隆项目:git clone https://github.com/Supervisor/supervisor.git

进入项目:cd supervisor

安装执行:python setup.py install

三、supervisor配置文件

官方文档-配置部分

vi /etc/supervisord.conf

[supervisord]
http_port=/var/tmp/supervisor.sock ; (default is to run a UNIX domain socket server)
;http_port=127.0.0.1:9001  ; (alternately, ip_address:port specifies AF_INET)
;sockchmod=0700              ; AF_UNIX socketmode (AF_INET ignore, default 0700)
;sockchown=nobody.nogroup     ; AF_UNIX socket uid.gid owner (AF_INET ignores)
;umask=022                   ; (process file creation umask;default 022)
logfile=/var/log/supervisor/supervisord.log ; (supervisor输出日志,main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10          ; (num of main logfile rotation backups;default 10)
loglevel=info               ; (logging level;default info; others: debug,warn)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false              ; (start in foreground if true;default false)
minfds=1024                 ; (min. avail startup file descriptors;default 1024)
minprocs=200                ; (min. avail process descriptors;default 200)

;nocleanup=true              ; (don't clean up tempfiles at start;default false)
;http_username=user          ; (default is no username (open system))
;http_password=123           ; (default is no password (open system))
;childlogdir=/tmp            ; ('AUTO' child log dir, default $TEMP)
;user=chrism                 ; (default is current user, required if root)
;directory=/tmp              ; (default is not to cd during start)
;environment=KEY=value       ; (key value pairs to add to environment)

[supervisorctl]
serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL  for a unix socket
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as http_username if set
;password=123                ; should be same as http_password if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")

[unix_http_server]
file=/var/tmp/supervisor.sock   ; (the path to the socket file)
;chmod=0777                 ; socket file mode (default 0700)
;chown=root:root       ; socket file uid:gid owner
;username=root              ; (default is no username (open server))
;password=root               ; (default is no password (open server))

[inet_http_server]
port = 127.0.0.1:9001

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[program:hello] ;可以在这边配置要管理的程序
directory=/home/www/php/ ;
command=/usr/bin/php test.php ;
process_name=%(program_name)s ;
numprocs=1 ;
autostart=true ;
startsecs=1 ;
autorestart=true ;
startretries=3 ;
user=root ;
redirect_stderr=true ;
stdout_logfile_maxbytes=20MB ;
stdout_logfile_backups=10 ;

[include] ;也可以通过include包含进来程序配置文件
files = ./supervisor/conf.d/*.ini ;

vi /etc/supervisor/conf.d/wx-prj.ini

[program:wx-prj]
;directory=/home/www/go/src/wx-prj ;go项目目录
;command=/home/www/go/src/wx-prj/wx-prj ;go项目编译好的可执行文件
directory=/home/www/go/bin ;
command=/home/www/go/bin/wx-prj ;
process_name=%(program_name)s ;
numprocs=1 ;
autostart=true ;
startsecs=1 ;
autorestart=true ;
startretries=3 ;
user=root ;
redirect_stderr=true ;
stdout_logfile=/home/www/go/wx-prj.stdout.log ;打印标准输出日志
stdout_logfile_maxbytes=20MB ;
stdout_logfile_backups=10 ;
stderr_logfile=/home/www/go/wx-prj.stderr.log ;打印标准错误输出日志
stderr_logfile_maxbytes=20MB ;
stderr_logfile_backups=10 ;
log_stdout=true             ; if true, log program stdout (default true)
log_stderr=true             ; if true, log program stderr (def false)

四、启动supervisor服务

supervisord -c /etc/supervisord.conf
启动服务时可以跟踪日志输出观察
[root@10-23-67-69 go]# tail -f  /var/log/supervisor/supervisord.log
2018-10-26 13:36:30,881 INFO Included extra file "/etc/./supervisor/conf.d/wx-prj.ini" during parsing
2018-10-26 13:36:30,902 INFO RPC interface 'supervisor' initialized
2018-10-26 13:36:30,902 CRIT Server 'inet_http_server' running without any HTTP authentication checking
2018-10-26 13:36:31,203 INFO RPC interface 'supervisor' initialized
2018-10-26 13:36:31,203 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2018-10-26 13:36:31,206 INFO daemonizing the supervisord process
2018-10-26 13:36:31,207 INFO supervisord started with pid 17040
2018-10-26 13:36:32,209 INFO spawned: 'hello' with pid 17041
2018-10-26 13:36:32,213 INFO spawned: 'wx-prj' with pid 17042
2018-10-26 13:36:32,219 INFO spawned: 'world' with pid 17043
2018-10-26 13:36:33,279 INFO success: hello entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-10-26 13:36:33,279 INFO success: wx-prj entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-10-26 13:36:33,279 INFO success: world entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
也通过命令查看程序状态
[root@10-23-67-69 conf.d]# supervisorctl status
hello                            RUNNING   pid 17041, uptime 0:00:19
world                            RUNNING   pid 17043, uptime 0:00:19
wx-prj                           RUNNING   pid 17042, uptime 0:00:19

五、重载supervisor修改过的配置

supervisorctl reload

六、停止/启动/重启supervisor管理的程序

[root@10-23-67-69 conf.d]# supervisorctl stop wx-prj
wx-prj: stopped
[root@10-23-67-69 conf.d]# supervisorctl start wx-prj
wx-prj: started
[root@10-23-67-69 conf.d]# supervisorctl restart wx-prj
wx-prj: stopped
wx-prj: started
[root@10-23-67-69 conf.d]# supervisorctl stop all
hello: stopped
wx-prj: stopped
world: stopped
[root@10-23-67-69 conf.d]# supervisorctl start all
hello: started
wx-prj: started
world: started

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ext JS源码分析与开发实例宝典

Ext JS源码分析与开发实例宝典

彭仁夔 / 电子工业出版社 / 2010-1 / 78.00元

《Ext JS源码分析与开发实例宝典》从Ext JS实现的基本功能开始讲解,从两个方面对Ext JS进行整体上的概述,让读者从宏观上去把握ExtJS框架。接下来讲解Ext JS核心基础知识,包括事件机制、模板模型、数据模型以及对类、函数、字符串、日期、数组及定时任务这6个类进行扩展。然后讲解Ext JS基于元素的开发,包括动画特效和拖曳实现等。最后深入讲解组件的开发,对布局、模型及4大组件一一进行......一起来看看 《Ext JS源码分析与开发实例宝典》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具