Linux进程管理工具 Supervisord 的安装 及 入门教程
2023-09-14 08:57:26 时间
Supervisor是一个进程管理工具,官方的说法:
用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor
主要就两个命令:
- supervisord : supervisor的服务器端部分,启动 supervisor 就是运行这个命令
- supervisorctl:启动 supervisor 的命令行窗口。
安装(CentOS):
方式一:
yum -y install python-setuptools easy_install supervisor
方式二:
如果 easy_install 不好使就从官方下载:
wget https://pypi.python.org/packages/source/s/supervisor/supervisor-3.1.3.tar.gz
然后通过 python 安装:
tar zxf supervisor-3.1.3.tar.gz cd supervisor python setup.py install
成功安装后可以登录 python 控制台输入 import supervisor 查看是否能成功加载。
生成配置文件(supervisord.conf):
echo_supervisord_conf > /etc/supervisord.conf
修改配置文件:
在 supervisord.conf 最后增加(分号后边的表示注释,可以不写):
[program:bandwidth] command=python26 /usr/local/bin/bandwidth.sh ;需要执行的命令wd) user=root ;(default is current user, required if root) autostart=true ;start at supervisord start (default: true) autorestart=true ;whether/when to restart (default: unexpected) startsecs=3 ;number of secs prog must stay running (def. 1) stderr_logfile=/tmp/bandwidth_err.log ;redirect proc stderr to stdout (default false) 错误输出重定向 stdout_logfile=/tmp/bandwidth.log ;stdout log path, NONE for none; default AUTO, log输出
(更多配置说明请参考:http://supervisord.org/configuration.html)
运行命令:
启动 supervisor
supervisord -c /etc/supervisord.conf
打开命令行
[root@52php bin]# supervisorctl status bandwidth RUNNING pid 2423, uptime 0:06:35 [root@iZ2365j7l5bZ bin]# supervisorctl help default commands (type help <topic>): ===================================== add clear fg open quit remove restart start stop update avail exit maintail pid reload reread shutdown status tail version
ctl中: help // 查看命令
ctl中: status // 查看状态
特别注意:
如果修改了 /etc/supervisord.conf,需要执行 supervisorctl reload 来重新加载配置文件,否则不会生效。。。
常用命令:
- supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
- supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:beepkg]里配置的值,这个示例就是beepkg。
- supervisorctl start programxxx,启动某个进程
- supervisorctl restart programxxx,重启某个进程
- supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
- supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
- supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
- supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
实例:Supervisord 管理 beego 系统
-
修改配置
/etc/supervisord.conf
[include] files = /etc/supervisord.conf.d/*.conf
-
新建管理的应用
cd /etc/supervisord.conf.d vim beepkg.conf
配置文件:
[program:beepkg] directory = /opt/app/beepkg command = /opt/app/beepkg/beepkg autostart = true startsecs = 5 user = root redirect_stderr = true stdout_logfile = /var/log/supervisord/beepkg.log
相关文章
- 【ES三周年】linux 基于 RHEL 的 Linux 发行版(例如 CentOS 和 Fedora)上用 shell 脚本安装 elasticsearch
- Linux下获取内存信息快速指南(linux获取内存信息)
- Linux进程优化:优雅实现更高性能(linux进程nice)
- Linux 网络管理必备命令总览(linux常用网络命令)
- /windows轻松安装双系统:Linux 与 Windows 互补配置(如何安装双系统linux)
- 安装 Linux 下的搜狗输入法(安装搜狗输入法linux)
- 从U盘安装Linux系统:极速服务器上的部署(linux服务器u盘安装)
- Linux下NS2安装指南:一步一步搭建你的网络仿真环境(linux下ns2安装)
- 安装Linux:从镜像文件中创建新的开始(镜像安装linux)
- 构建快速链接:Linux工具的使用(链接linux工具)
- Linux线程与进程:分析与研究(linux线程和进程)
- Linux系统防火墙关闭实施指南(关闭linux的防火墙)
- 控制Linux 进程流量控制:实现最优性能(linux进程流量)
- Linux查看Python安装路径的方法(linux查看python安装路径)
- 管理让Linux管理你的所有设备(linux所有设备)
- Linux系统硬盘安装:操作指南、技巧与注意事项(linux系统硬盘安装)
- Linux美翻天:探索最漂亮的开源系统(好看的linux系统)
- Linux如何指定固定IP地址?(linux 指定ip地址)
- Linux精简安装:简洁高效的系统配置创新(linux 最小化安装)
- 让花生壳帮助Linux体验更加便捷(花生壳linux客户端)
- Linux进程:深入理解内部运行机制(linux进程的内容)