场景:针对离线环境下的安装及配置(在有互联网的情况下,可以通过yum及pip安装)

supervisor介绍:

supervisor是一个Linux/Unix系统上的进程监控工具,supervisor是一个Python开发的通用的进程管理程序,可以管理和监控Linux上面的进程,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。不过同daemontools一样,它不能监控daemon进程

一、安装setuptools

setuptools 是 distutils 增强版,不包括在标准库中。其扩展了很多功能,能够帮助开发者更好的创建和分发 Python 包。大部分 Python 用户都会使用更先进的 setuptools 模块。后面安装supervisor会用到。

1.1 下载setuptools

官网下载:setuptools · PyPI

https://files.pythonhosted.org/packages/26/f4/ca5cb6df512f453ad50f78900bf7ec6a5491ee44bb49d0f6f76802dbdd43/setuptools-65.5.1.tar.gz

1.2 下载setuptools后上传到服务器上并解压

tar -xvf setuptools-65.5.1.tar.gz

1.3 安装setuptools

cd setuptools-65.5.1/

python3 setup.py install

二、安装supervisor

2.1 下载supervisor

官网地址:supervisor · PyPI

https://files.pythonhosted.org/packages/b3/41/2806c3c66b3e4a847843821bc0db447a58b7a9b0c39a49b354f287569130/supervisor-4.2.4.tar.gz

2.2 安装supervisor

   上传supervisor包到服务器并解压

tar -xvf supervisor-4.2.4.tar.gz

2.3 安装supervisor

   cd supervisor-4.2.4/

   python3 setup.py install

三、配置supervisor

3.1 生成配置文件

 echo_supervisord_conf > /etc/supervisord.conf

3.2 修改配置文件

修改web部分

[inet_http_server]         ; inet (TCP) server disabled by default

port=*:9002        ; 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 = relative/directory/*.ini

files=/etc/supervisor/*.ini

四、监控程序

4.1 安装redis(过程略)

4.2 配置监控部分

 mkdir /etc/supervisor

[root@node2 supervisor]# cat redis.ini

[program:redis]

command=/usr/bin/redis-server /etc/redis.conf

autorstart=true

autorestart=true

stdout_logfile=/tmp/supervisor.log

五、测试

5.1 启动supervisord

supervisord -c /etc/supervisord.conf

5.2 查看状态

命令行模式

[root@node2 supervisor]# supervisorctl status

redis                            RUNNING   pid 16276, uptime 0:38:56

web模式

5.3 kill掉redis进程后再查看

 kill -9 16276

[root@node2 supervisor]# supervisorctl status

redis                            RUNNING   pid 16501, uptime 0:00:02

附:

开启supervisord服务

# supervisord -c /etc/supervisord.conf

更新新的配置到supervisord

# supervisorctl update

重新启动配置中的所有程序

# supervisorctl reload

启动某个进程(program_name=你配置中写的程序名称)

# supervisorctl start program_name

查看正在守候的进程

# supervisorctl

重启某一进程 (program_name=你配置中写的程序名称)

# supervisorctl restart program_name

停止全部进程

# supervisorctl stop all

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐