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月前
|
Prometheus 监控 Cloud Native
使用supervisor守护Prometheus进程
使用supervisor守护Prometheus进程
|
2月前
|
消息中间件 网络协议 Python
工具人逆袭!掌握Python IPC,让你的进程从此告别单打独斗
【9月更文挑战第9天】你是否曾遇到多个Python程序像孤岛般无法通信,导致数据孤立、任务难协同的问题?掌握进程间通信(IPC)技术,可助你打破这一僵局。IPC是不同进程间传递数据或信号的机制,在Python中常用的方法有管道、消息队列、共享内存及套接字等。其中,管道适用于父子或兄弟进程间简单数据传递;套接字则不仅限于本地,还能在网络间实现复杂的数据交换。通过学习IPC,你将能设计更健壮灵活的系统架构,成为真正的编程高手。
26 3
|
3月前
使用supervisor守护freeswitch进程
使用supervisor守护freeswitch进程
|
3月前
|
消息中间件 网络协议 Python
工具人逆袭!掌握Python IPC,让你的进程从此告别单打独斗
【8月更文挑战第3天】你是否苦恼于Python程序间的“信息孤岛”现象?进程间通信(IPC)技术能助你打破壁垒。IPC是使不同进程共享数据或信号的方法。因全局解释器锁(GIL),多进程配合IPC成为高效处理数据的选择。Python提供管道、消息队列、共享内存等多种IPC手段。例如,管道适合简单父子或兄弟进程通信;套接字不仅限于网络通信,还能实现本地进程间复杂数据交换。掌握IPC,让你的进程协同作战,构建更强大灵活的系统。
25 0
|
4月前
|
Ubuntu Unix Linux
如何使用 Supervisor 管理你的进程
**Supervisor** 是一款Python编写的进程管理工具,用于类Unix系统,确保应用服务持续运行。常用命令包括:`reload`(重新加载配置)、`status`(查看进程状态)、`shutdown`(关闭所有进程)、`start`和`stop`(控制单个进程)。在CentOS上安装Supervisor用`yum install -y supervisor`,配置文件通常在`/etc/supervisord.conf`。
72 0
|
5月前
|
数据可视化 API 开发工具
详细解读cesi+supervisor可视化集中管理服务器节点进程
详细解读cesi+supervisor可视化集中管理服务器节点进程
92 0
|
6月前
|
Linux
Linux操作系统调优相关工具(一)查看CPU负载相关工具 找出系统中使用CPU最多的进程?
Linux操作系统调优相关工具(一)查看CPU负载相关工具 找出系统中使用CPU最多的进程?
62 0
|
6月前
|
Linux
百度搜索:蓝易云【Linux系统下获取系统、BIOS、进程、网络等相关信息的方法和工具。】
综上所述,通过使用命令行工具和图形化工具,可以在Linux系统下获取系统、BIOS、进程和网络等相关信息。根据具体的需求和使用场景,选择合适的工具和命令可以帮助你更好地了解和管理Linux系统。
102 2
|
6月前
|
监控 应用服务中间件 nginx
Supervisor快速入门 | 使用Supervisor守护Nginx进程
Supervisor快速入门 | 使用Supervisor守护Nginx进程
200 0

热门文章

最新文章

相关实验场景

更多
下一篇
无影云桌面