【supervisor】使用教程 配置 作用 服务自动重启

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

你可能感兴趣的:(Linux)