> /etc/supervisord.conf ---- 修改主配置文件 # pip 安装方式需要修改,yum安装方式不用修改 mkdir -p /etc/supervisord.d mkdir /var /run/supervisord mkdir /var/log/supervisord vim /etc/supervisord.conf # 修改下面的配置 file=/var/run/supervisord /supervisor.sock logfile=/var/log/supervisord/supervisord.log pidfile=/var/run/supervisord/supervisord.pid ] Description=supervisord After=network.target [Service] Type=forking ExecStart=/usr/bin/supervisord systemctl start supervisord ---- 添加要管理的进程 # 创建文件 vim /etc/supervisord.d/tomcat.ini [program:tomcat]
Supervisord是用Python实现的一款非常实用的进程管理工具。 supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。 supervisord只能管理非daemon进程。 安装 sudo easy_install supervisord 或 sudo pip install supervisord 或 sudo yum install supervisord 注意: 使用 yum默认源安装的supervisord是2.x版本,此版本无法管理被监测程序派生出来的子进程,在restart被监控程序派生出的进程时会有问题。
热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云
sudo su - root -c "echo_supervisord_conf > /etc/supervisord.conf" 配置文件说明 想要了解怎么配置需要管理的进程,只要打开 supervisord.conf [supervisord] ;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) ;修改为 /var/ ; (supervisord pidfile;default supervisord.pid) ... [include] files = /etc/supervisord.d/*.ini 启动 supervisord 执行 supervisord 命令,将会启动 supervisord 进程,同时我们在配置文件中设置的进程也会相应启动 # 使用默认的配置文件 /etc/supervisord.conf supervisord # 明确指定配置文件 supervisord -c /etc/supervisord.conf # 使用 user
启动 /usr/local/bin/supervisord -c /etc/supervisord.conf 关闭 username=user passwd=123 /usr/local/bin/supervisorctl ,初始启动Supervisord,启动、管理配置中设置的进程。 把supervisord加入到开机启动项里就可以完成监控进程的功能了。 当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。 而以daemon方式运行,杀掉supervisord对被监控进程无影响。 参考推荐: Supervisord管理Python进程 Supervisord管理杂乱的服务 Linux /proc/pid记录了什么
pip install supervisor #easy_install安装 easy_install supervisor 2.配置supervisor #生成配置supervisor文件 echo_supervisord_conf > /etc/supervisord.conf #创建存放配置文件目录 mkdir -p /etc/supervisord.d/conf 3.修改默认配置 #文件最后一行,目录修改为配置文件地址,我的 .ini文件是在/etc/supervisord.d/conf/存放,而且本身配置文件也在etc中,所以目录直接写supervisord.d/conf/就可以了 [include] files = supervisord.d /conf/*.ini 4.通过配置文件启动supervisor #这里一定要用配置文件的绝对路径 $ supervisord -c /etc/supervisord.conf 5.编写要管理进程的配置文件
安装supervisord yum install supervisor 配置守护进程 在/etc/supervisord.d/下新建后缀名为ini的文件 ; 设置进程的名称,使用 supervisorctl /start.sh start ; 启动命令 最好绝对路径 autostart = true ; 在 supervisord 启动的时候也自动启动 home/web/myblog/myblog_stderr.log stdout_logfile = /home/web/myblog/myblog_stdout.log loglevel=info 启动supervisord systemctl restart supervisord.service 启动我们配置的进程 supervisorctl start server:myblog 此时可能会报错 server:myblog : ERROR (no such process) 我们执行一下下面这句话 supervisord -c /etc/supervisord.conf 重新启动 supervisorctl start server
安装 Supervisor yum install -y supervisor 目录结构: /etc supervisord.d/ #我们自定义的项目进程配置目录 supervisord.conf 启动 Supervisord supervisord -c /etc/supervisord.conf 如果报错了,并且执行 systemctl status supervisord 状态为 failed ,表示失败了,先杀死在执行的进程 查看 supervisord 进程 ps -ef | grep supervisord [root@izwz99d7x8qidiasecenewz ~]# ps -ef | grep supervisord root 1319 1 0 Jan20 ? 00:00:28 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf root 29834 29053 0 19:41
/vulhub/tree/master/supervisor/CVE-2017-11610 Supervisord Supervisord是一款Python开发,用于管理后台应用(服务)的工具,其角色类似于 也就是说,这里会导致Supervisord本身退出。 基于Docker容器的Supervisord(如Vulhub里这个靶场),如果基础进程Supervisord被退出,那么将导致整个容器被退出,即使我们执行了任意命令,我们获得的权限也是转瞬即逝的。 默认安装的Supervisord,是只监听unix套接字的,所以外部IP根本无法访问。 升级Supervisord 端口访问控制 设置复杂RPC密码
supervisor 会默认使用python2.6环境,首先要安装好python2.6的环境,然后修改以下文件首行为2.6即可 [root@VM_0_15_centos ~]# cat /usr/bin/supervisord /usr/bin/python2.6 from supervisor.supervisord import main # __doc__ required to make supervisord -h work from supervisor.supervisord import __doc__ main() [root@VM_0_15_centos ~]# cat /usr/bin/supervisorctl
当需要实现守护进程 , 以及自己开发的命令自动崩溃重启时,可以使用go版本的supervisord , 比python版本依赖少一些 git clone https://github.com/ochinchina /supervisord.git env GOOS=linux GOARCH=amd64 go build -o supervisord_linux_amd64 64位版本 env GOOS=linux GOARCH=386 go build -o supervisord_linux_386 32位版本 配置命令 vim supervisor.ini [inet_http_server] port /supervisord_linux_386 -c supervisor.ini -d 可以看到go-fly的进程已经被启动了, 并且kill掉以后会自动重启 测试地址: https://gofly.sopans.com
环境准备 centos 安装 supervisord yum install -y supervisord debian 安装 supervisord apt-get install -y supervisor supervisord.conf 安装完成后在/etc/supervisor 目录下会有个配置文件 supervisord.conf # cd /etc/supervisor /etc/supervisor ] logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) pidfile= /var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) childlogdir=/var/log/supervisor :/code# supervisord -c .
安装 pip install supervisord 安装完成,在项目根目录创建conf目录, 这个目录位置自己随意创建 生成conf文件 echo_supervisord_conf > conf配置文件名称 echo_supervisord_conf > test_supervisord.conf 生成之后配置Asgi,将一下配置添加进创建的conf文件 [program:daphne] directory
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。 supervisorctl:用于管理supervisor配置文件中program。 # 开机自启动 # systemctl start supervisord # 启动supervisord服务 # systemctl status supervisord # 查看supervisord 服务状态 # ps -ef|grep supervisord # 查看是否存在supervisord进程 配置supervisor supervisord 的配置文件位置: $ vim /etc/supervisor /supervisord.conf supervisord 的配置文件: [unix_http_server] file=/tmp/supervisor.sock ; UNIX socket 文件, # systemctl start supervisord # systemctl status supervisord # systemctl reload supervisord # systemctl
For example, supervisord -c supervisord.conf. 先创建目录 mkdir /home/supervisord/ 然后拷贝文件过去 cp /etc/supervisord.conf /home/supervisord/supervisord.conf 编辑配置文件 vi /home/supervisord/supervisord.conf 在/home/supervisord/supervisord.conf最后追加如下内容,这个例子是配置shadowsocks -c /home/supervisord/supervisord.conf 如果想要supervisord开机自启动 编辑启动文件 vi /etc/rc.local 在新行添加要执行的命令 supervisord 生成配置文件(supervisord.conf): echo_supervisord_conf > /etc/supervisord.conf 修改配置文件: (更多配置说明请参考:http://supervisord.org
首先来看 supervisord 的配置文件。 安装完 supervisor 之后,可以运行 echo_supervisord_conf 命令输出默认的配置项,也可以重定向到一个配置文件里: echo_supervisord_conf > /etc (或其他任意有权限访问的文件),然后启动 supervisord(通过 -c 选项指定配置文件路径,如果不指定会按照这个顺序查找配置文件:CWD/supervisord.conf, CWD/etc/supervisord.conf , /etc/supervisord.conf) supervisord -c /etc/supervisord.conf 查看 supervisord 是否在运行: ps aux | grep supervisord 使用 supervisorctl Supervisorctl 是 supervisord 的一个命令行客户端工具,启动时需要指定与 supervisord 使用同一份配置文件,否则与 supervisord
安装 pip install supervisor 配置 echo_supervisord_conf > /etc/supervisord.conf supervisord.conf [unix_http_server ] file=/tmp/supervisor.sock ; UNIX socket 文件,supervisorctl 会使用 [supervisord] logfile=/tmp/supervisord.log -c /etc/supervisord.conf 添加为服务,并添加开机启动(centos 7) (1).新建supervisord.service文件 #supervisord.service [Unit ] Description=Supervisor daemon [Service] Type=forking ExecStart=/bin/supervisord -c /etc/supervisord.conf /usr/lib/systemd/system/ service supervisord start chkconfig supervisord on supervisorctl supervisorctl
可以使用echo_supervisord_conf命令将配置信息重定向到制定目录,比如/etc echo_supervisord_conf > /etc/supervisor/supervisord.conf 服务端启动 supervisord -c /etc/supervisor/supervisord.conf 查看supervisord是否在运行 ps aux | grep supervisord supervisord.conf 详解 使用echo_supervisord_conf查看supervisord.conf可选的配置项: echo_supervisord_conf help 详情如下 ; Sample supervisor ] logfile=/tmp/supervisord.log ; supervisord进程日志路径 logfile_maxbytes=50MB ; supervisord进程单个日志文件大小 /var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) loglevel=debug
命令操作: 启动supervisor的服务器端supervisord 【启动supervisord】 supervisord -c /etc/supervisor/supervisord.conf 或 supervisord 【停止supervisord】 supervisorctl shutdown 【重新加载配置文件】 supervisorctl reload 【进程管理】 启动supervisord 管理的所有进程 supervisorctl start all 停止supervisord管理的所有进程 supervisorctl stop all 启动supervisord管理的某一个特定进程 当前管理的所有进程的状态 supervisorctl status supervisorctl 客户端命令 Supervisorctl 是 supervisord 的一个命令行客户端工具,启动时需要指定与 supervisord 使用同一份配置文件,否则与 supervisord 一样按照顺序查找配置文件 supervisorctl -c /etc/supervisor/supervisord.conf
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。 supervisorctl:用于管理supervisor配置文件中program。 # 开机自启动 systemctl start supervisord # 启动supervisord服务 systemctl status supervisord # 查看supervisord服务状态 ps -ef|grep supervisord # 查看是否存在supervisord进程 配置supervisor supervisord 的配置文件位置: $ vim /etc/supervisor /supervisord.conf supervisord 的配置文件: [unix_http_server] file=/tmp/supervisor.sock ; UNIX socket 文件, systemctl start supervisord systemctl status supervisord systemctl reload supervisord systemctl restart
扫码关注腾讯云开发者
领取腾讯云代金券