【supervisor】使用教程 配置 作用 服务自动重启
程序员文章站
2022-06-11 19:27:40
...
1. 安装 启动 supervisor
1.1 安装
yum -y install supervisor
1.2 生成配置文件并修改配置文件
echo_supervisord_conf > /etc/supervisord.conf
1.3 创建文件夹,用于放启动程序的配置文件
mkdir /etc/supervisor
1.4 修改配置文件
vim /etc/supervisord.conf
[unix_http_server]
file=/etc/supervisor/supervisor.sock
[inet_http_server]
port=0.0.0.0:9001
[supervisord]
logfile=/opt/logs/supervisor/supervisord.log
pidfile=/etc/supervisor/supervisord.pid
[supervisorctl]
serverurl=unix:///etc/supervisor/supervisor.sock
[include]
files = /etc/supervisor/*.conf
1.5 创建程序的配置文件并配置
vim common-service.conf(在/etc/supervisor文件夹下)
1.6 创建对应的文件夹和日志文件
/opt/logs/archives-consumer.log 注意:一般用log4j的日志文件
1.7 启动客户端
supervisord -c /etc/supervisord.conf
1.8 查看客户端进程
ps -ef | grep supervisor
1.9 启动服务端
supervisorctl -c /etc/supervisord.conf
1.10 注意
配置中的127.0.0.1改成0.0.0.0,要不然访问不到
是因为user-server.conf 中的“;”前面没加空格
是因为common-consumer.conf中所在的服务器没有jdk
2. 子配置文件的配置
vim /etc/supervisor/user.conf
[program:user-consumer]
directory = /opt/apps/ ; 程序的启动目录
command = java -jar beebee-user-thrift-consumer.jar ; 启动命令
autostart = false ; 在 supervisord 启动的时候也不自动启动
startsecs = 30 ; 启动 30 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
user = root ; 用哪个用户启动
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
; stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
; stdout_logfile_backups = 20 ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
; stdout_logfile = /opt/logs/user-consumer.log
stopasgroup=true
killasgroup=true
3. 第三方插件(控制所有jar包)
https://github.com/Gamegos/cesi
1 yum -y install sqlite3 python python-flask
2 在/usr/local/文件夹下,git clone https://github.com/Gamegos/cesi
3 cd cesi,sqlite3 path/to/userinfo.db < userinfo.sql(需要坚持数据库是否有数据)
4 cp cesi.conf /etc/cesi.conf
5 nohup python web.py &
Username : admin
Password : admin
4.0 cesi.conf 配置文件的主要配置项
database = /usr/local/cesi/userinfo.db
activity_log = /usr/local/cesi/test.log
host = 0.0.0.0