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