# 安装epel-release
yum -y install epel-release
# 安装supervisor
yum -y install supervisor
# 查看supervisor版本
supervisord -version
# 设置开机自启
systemctl enable supervisord
# 启动supervisor
systemctl start supervisord
# 查看supervisor状态
systemctl status supervisord
# 修改supervisor配置文件
vim /etc/supervisord.conf
# 把[inet_http_server]模块的注释去掉 并修改IP、用户名与密码
[inet_http_server]
port=172.16.137.187:9001
(或者0.0.0.0:9001)
username=root
password=#Ab123456
# 重新加载配置文件
supervisorctl reload
# 浏览器访问 http://172.16.137.187:9001
注:默认子进程配置文件为ini格式,可在supervisor主配置文件中修改 子进程配置文件路径:/etc/supervisord.d/
新增demo进程
vim demo.ini
[program:demo]
directory = /usr/local/demo ;启动目录
command = /usr/local/java/bin/java -jar demo.jar ;启动命令
autostart = true ;在supervisord启动的时候也启动
startsecs = 5 ;启动5秒后没有异常退出,就当作已经正常启动了
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_logfile = /usr/local/demo/logs/demo_stdout.log
;stdout日志文件,需要手动创建/root/demo/logs目录
# 启动进程
supervisorctl start demo
# supervisorctl命令
supervisorctl
> status #查看程序状态
> stop name #关闭name程序
> start name #启动name程序
> restart name # 重启name程序
> reread #读取有更新的配置文件,不会启动新添加的程序
> update #重启配置文件修改过的程序
# 访问supervisor
vim /usr/local/nginx/conf/nginx.conf
修改nginx配置文件
把80端口映射到9001端口
添加
location /supervisor/ {
proxy_pass http://127.0.0.1:9001/;
}
systemctl restart nginx
重启nginx
访问
http://192.168.1.108/supervisor/
或者继续访问带端口的地址