说明
公司Linux服务器无法连接外网,只能下载安装包上传到服务器进行离线安装
- Python版本: Python-2.7.5
- Supervisor版本: supervisor-3.1.3
- setuptools版本: setuptools-2.0
- meld3版本: meld3-1.0.2
Supervisor简介
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。
Supervisor安装
- 离线安装Python
-- 解压安装包
tar -zxvf Python-2.7.5.tgz
-- 进入解压后的目录
cd Python-2.7.5
-- 安装python2.7.5到指定目录
./configure –prefix=/usr/lib/python2.7/
make
make install
-- 建立软连接
ln -s /usr/lib/python2.7/bin/python /bin/python
- 离线安装setuptools-2.0
tar -xzvf setuptools-2.0.tar.gz
cd setuptools-2.0
python setup.py install
- 离线安装meld3-1.0.2
tar zxvf meld3-1.0.2.tar.gz
cd meld3-1.0.2
python setup.py install
- 离线安装supervisor3.1.3
tar -zxvf supervisor-3.1.3.tar.gz
cd supervisor-3.1.3
python setup.py install
Supervisor配置
- 生成Supervisor配置文件
echo_supervisord_conf > /etc/supervisord.conf
- 启动Supervisor
supervisord -c /etc/supervisord.conf
- 验证Supervisor是否启动
ps aux | grep supervisord
- 配置Supervisor应用守护
-- 在etc目录下创建应用守护文件存放目录和配置文件
mkdir supervisor
cd supervisor
mkdir conf.d
cd conf.d
-- 配置守护进程
vi task.conf
[program:csxsettlement-framework-eureka]; 应用名称
user=root; 使用root用户执行启动命令
command=java -Xms256m -Xmx512m -jar /sxapp/sxappopt/csxs-settlement/framework/eureka/csxsettlement-framework-eureka.jar
directory=/sxapp/sxappopt/csxs-settlement/framework/eureka; jar包所在目录
autostart = false; 是否自动启动
autorestart = false; 是否自动重启
startsecs = 5
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 10MB
stdout_logfile_backups = 20
stdout_logfile =/sxapp/sxappopt/csxs-settlement/framework/eureka/stdout.log; 日志目录和日志文件名称
- 修改supervisord.conf文件
-- 打开inet_http_server,去掉前面的';'号
[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123 ; (default is no password (open server))
-- 引入配置的守护进程
[include]
files = /etc/supervisor/conf.d/*.conf
注意:
修改 supervisord.conf 配置文件后,要执行supervisord -c /etc/supervisord.conf
重启supervisor
Supervisor管理守护进程
- 方式1:通过Supervisor后管页面进行管理
账号密码配置在supervisord.conf文件中
通过Supervisor管理页面可以对守护进程执行启动、停止、重启、查看日志等操作
- 方式2:在SSH控制台通过命令进行管理
常用的相关管理命令
supervisorctl restart <application name> ;重启指定应用
supervisorctl stop <application name> ;停止指定应用
supervisorctl start <application name> ;启动指定应用
supervisorctl restart all ;重启所有应用
supervisorctl stop all ;停止所有应用
supervisorctl start all ;启动所有应用
版本记录
序号 | 修改日期 | 调整方式 | 调整内容 | |
---|---|---|---|---|
1 | 2019-10-25 | 新增 | Supervisor离线安装、基础操作 | |
2 |