supervisord

2022-10-27 14:25:18 浏览数 (2)

安装

yum 安装

代码语言:javascript复制
# 安装
yum install epel-release -y
yum install supervisor -y

pip 安装

代码语言:javascript复制
# 安装
yum install python-pip -y
pip install supervisor

# 生成主配置文件
echo_supervisord_conf > /etc/supervisord.conf

修改主配置文件

代码语言:javascript复制
# pip 安装方式需要修改,yum安装方式不用修改
mkdir -p /etc/supervisord.d
mkdir /var/run/supervisord
mkdir /var/log/supervisord


vim /etc/supervisord.conf	# 修改下面的配置

file=/var/run/supervisord/supervisor.sock
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
serverurl=unix:///var/run/supervisord/supervisor.sock
minfds=65535		# 最少系统空闲的文件描述符,低于这个值supervisor将不会启动。系统的文件描述符在这里设置cat /proc/sys/fs/file-max。默认情况下为1024
minprocs=65535		# 最小可用的进程描述符,低于这个值supervisor也将不会正常启动,ulimit -u这个命令,可以查看linux下面用户的最大进程数,默认为200

[inet_http_server]		# 开启 web 管理
port=192.168.1.100:9001		# 绑定本机的IP和端口
username=user			# 登录后台的用户名
password=123			# 登录后台的密码

[include]			# 取消最后一行的注释
files = /etc/supervisord.d/*.ini

创建启动脚本

代码语言:javascript复制
# pip 安装方式需要创建,yum安装方式默认会自动创建
vim /usr/lib/systemd/system/supervisord.service

[Unit]
Description=supervisord
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
代码语言:javascript复制
# 启动服务
systemctl enable supervisord
systemctl start supervisord

添加要管理的进程

代码语言:javascript复制
# 创建文件
vim /etc/supervisord.d/tomcat.ini

[program:tomcat]				# 启动程序的名字test,启动时需要指定
environment=JAVA_HOME=/usr/local/java/bin	# 配置java环境
command=/data/tomcat/bin/catalina.sh run	# 启动命令
autostart=true					# 自动启动
startsecs=5					# 重启时间5s	
autorestart=true				# 自动重启
startretries=3					# 启动失败,重试次数
user=root					# 启动程序的用户
#redirect_stderr=true				# 把stderr重定向到stdout,默认false
stdout_logfile_maxbytes=1GB
stdout_logfile=/data/tomcat/logs/stdout.log	# 标准日志
stderr_logfile=/data/tomcat/logs/stderr.log	# 错误日志


# 更新配置文件
supervisorctl update


# 管理单个进程
supervisorctl start tomcat
supervisorctl stop tomcat
supervisorctl status

0 人点赞