软硬件环境cat /etc/redhat-release #查看系统版本 - supervisor 3.4.0
- python 2.7.5
supervisor简介supervisor是一个用python语言编写的进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编写代码来控制。 supervisord安装yum install -y epel-releaseyum install -y supervisor 启动&开启自启 systemctl start supervisordsystemctl enable supervisord 其他命令: systemctl stop supervisord #停止启动systemctl start supervisord #启动systemctl status supervisord #启动状态systemctl reload supervisord #重载systemctl restart supervisord #重启 supervisor的web端supervisor提供了基于web的控制,管理员可以通过在页面上点点按钮即可完成对进程的启动、重启等操作,甚是方便。 进入配置文件,开启对web端的支持 vim /etc/supervisord.conf 如果提供给外部访问,需要将port改为本机ip地址 #取消10-13行注释,前面数字是行号[inet_http_server] ; inet (TCP) server disabled by defaultport=192.168.26.121: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)) 配置完成后重启服务 systemctl restart supervisord supervisord应用配置进入supervisord配置文件 cat /etc/supervisord.conf 通过配置文件最后一行看到 [include]files = supervisord.d/*.ini 也就是说,我们所有的应用配置文件都保存在这个目录下,以.ini格式命名保存的,可以自行修改地址,但不要修改后缀 那我们来创建一个受监控的应用吧 创建测试python配置创建一个名称叫做python的应用程序配置 vim /etc/supervisord.d/python.ini 配置文件内容,其中command就是我们应用程序启动需要执行的命令 [program:python] #这里的python就是我们显示在web前端以及终端的监控名称command=python /tmp/supervisordtest/test.py #我们要监控的文件地址autostart=trueautorestart=truestartsecs=1startretries=3redirect_stderr=truestdout_logfile=/tmp/supervisordtest/access_python.log #日志地址,可自行配置目录stderr_logfile=/tmp/supervisordtest/error_python.log #日志地址,可自行配置目录 创建test.py mkdir /tmp/supervisordtestvim /tmp/supervisordtest/test.py 程序内容:开启一个死循环,不停的打印内容 重启supervisord使配置文件生效 systemctl restart supervisord 查看应用是否正常启动 1、命令查看 systemctl status supervisord 2、可视化web查看 web端可以重启,停止,清理日志,查看日志等多个操作 
supervisor相关的几个命令安装完毕,会生成3个系统命令supervisorctl 、supervisord 和echo_supervisord_conf 1. supervisord ,运行supervisor 时会启动一个进程supervisord ,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启 2. supervisorctl是命令行管理工具,可以用来执行 start 、stop 、restart 等命令,来对这些子进程进行管理, 如 sudo supervisorctl start demoweb 其中demoweb是进程的名称, 详细的命令及说明见下面的这张表 命令 | 说明 | supervisorctl start program_name | 启动某个进程 | supervisorctl stop program_name | 停止某个进程 | supervisorctl restart program_name | 重启某个进程 | supervisorctl status program_name | 查看某个进程的状态 | supervisorctl stop all | 停止全部进程 | / | supervisorctl reload | 载入最新的配置文件,重启所有进程 | supervisorctl update | 根据最新的配置,重启配置更改过的进程,未更新的进程不受影响 | 3. echo_supervisord_conf 用来生成默认的配置文件(默认配置文件,内容非常齐全且都有注释,适合用时查阅,用法是这样的 echo_supervisord_conf > test.conf 下载地址: 基于nginx实现上游服务器动态自动上下线无需reload的实现方法 Docker安装FastDFS的方法步骤 |