You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[root@ 4fff02d62bba ~]# vi /etc/supervisor/test.conf
[group:foo]
programs=bar,baz
priority=999
#启动组别进程的命令
[root@75d336b8c2cf log]# supervisorctl help start
start <name> Start a process
start <gname>:* Start all processes in a group
start <name><name> Start multiple processes or groups
start all Start all processes
[root@75d336b8c2cf log]# supervisorctl start foo:
fazoo:bar: started
foo:b: started
#关闭组别进程的命令
[root@75d336b8c2cf log]# supervisorctl help stop
stop <name> Stop a process
stop <gname>:* Stop all processes in a group
stop <name><name> Stop multiple processes or groups
stop all Stop all processes
[root@75d336b8c2cf ~]# supervisorctl stop foo:
fazoo:bar: stopped
foo:b: stopped
以其他用户角色启动进程:
[root@ 4fff02d62bba ~]# vi /etc/supervisor/test.conf
[program:test]
user=test
...
之前在生产环境部署Web服务,使用
nohup
来启动服务,但是nohup
在异常崩溃的情况下,无法重启服务,找到Supervisor
, 可以实现后台守护进程的方式运行服务。一、介绍
Supervisor是比较常用的进程管理工具,支持 Linux/MacOS平台,可以用来控制一组Linux/Unix进程(启动、重启、kill)等,使用Supervisor管理的进程,可以做到以守护进程的方式运行,服务异常关闭后可以自动重启。
Supervisor 有下面几个组件:
Supervisor 通过配置文件,还可以启动Web控制台,通过Web页面来管理子进程;
二、安装
环境:
CentOS : 6/7
Python : 2.X
安装方法1:使用Python的
Setuptools
软件包来安装:如果需要使用非ROOT用户安装,则参考:
安装方法2:使用yum安装
三、配置 & 启动服务
拷贝默认配置文件
四、配置应用或服务器进程
编写应用启动脚本:启动脚本还有其他的选项配置,点击查看官网文档
配置文件立即生效:
启动或关闭应用:
启动多个同一进程:
PS: 同一个应用程序,启动多个进程,默认情况下,这些进程都归属于同一个组别,例如下面,test应用启动了2个进程,则这两个进程就归属于
test
组启动或者关闭一组进程:
以其他用户角色启动进程:
备注:
supervisorctl
还有其他命令,点击这里查看官网文档supervisorctl
命令的默认配置文件是:/etc/supervisord.conf
五、常见问题
1、使用普通用户控制supervisor
假设普通用户名为:testuser
删除默认路径下的: /etc/supervisord.conf
参考链接
The text was updated successfully, but these errors were encountered: