Supervisor 进程守护工具

简介: 说明 公司Linux服务器无法连接外网,只能下载安装包上传到服务器进行离线安装 Python版本: Python-2.7.5 Supervisor版本: supervisor-3.1.3 setuptools版本: setuptools-2.0 meld3版本: meld3-1.0.2 Supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

说明

公司Linux服务器无法连接外网,只能下载安装包上传到服务器进行离线安装

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文件中

image

通过Supervisor管理页面可以对守护进程执行启动、停止、重启、查看日志等操作

image

  • 方式2:在SSH控制台通过命令进行管理

image

常用的相关管理命令

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
相关文章
|
3月前
|
监控 应用服务中间件 nginx
Supervisor快速入门 | 使用Supervisor守护Nginx进程
Supervisor快速入门 | 使用Supervisor守护Nginx进程
39 0
|
4月前
|
监控 安全 Java
【python实操】马上毕业了,你还不懂什么是守护线程、线程、进程?(附12306抢票程序-源代码)
【python实操】马上毕业了,你还不懂什么是守护线程、线程、进程?(附12306抢票程序-源代码)
39 0
|
4月前
|
Linux
百度搜索:蓝易云【Linux系统下获取系统、BIOS、进程、网络等相关信息的方法和工具。】
综上所述,通过使用命令行工具和图形化工具,可以在Linux系统下获取系统、BIOS、进程和网络等相关信息。根据具体的需求和使用场景,选择合适的工具和命令可以帮助你更好地了解和管理Linux系统。
65 2
|
9月前
|
监控 Ubuntu Unix
Supervisor快速入门 | 使用Supervisor守护Nginx进程
Supervisor快速入门 | 使用Supervisor守护Nginx进程
379 0
|
10月前
|
负载均衡 监控 JavaScript
一文教你如何使用Node进程管理工具-pm2
一文教你如何使用Node进程管理工具-pm2
196 0
|
11月前
|
Linux Shell C++
【Linux初阶】进程程序替换 | 初识、原理、函数、应用 & makefile工具的多文件编译
替换初识,替换原理,替换函数理解和使用,makefile工具的多文件编译,进程替换应用(简易命令行实现)
104 0
【Linux初阶】进程程序替换 | 初识、原理、函数、应用 & makefile工具的多文件编译
|
JavaScript Java Shell
java:使用supervisor优雅的管理SpringBoot进程
java:使用supervisor优雅的管理SpringBoot进程
617 0
|
安全 Unix PHP
使用supervisor管理消费队列等进程
使用supervisor管理消费队列等进程
179 0
|
Android开发
Android进程守护,让APP在系统内存中常驻(二)
Android进程守护,让APP在系统内存中常驻
566 0
|
Android开发
Android进程守护,让APP在系统内存中常驻(一)
Android进程守护,让APP在系统内存中常驻
848 0

相关实验场景

更多