在阿里云Centos7.6上部署主管来监控和操作类别服务
Supervisor是用Python开发的一个客户端/服务器服务,是Linux / Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听,启动,停止,重启一个或多个进程。的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
说白了,它真正有用的功能是俩个将非daemon(守护进程)程序变成deamon方式运行对程序进行监控,当程序退出时,可以自动拉起程序。
但是它无法控制本身就是daemon的服务。
安装主管
百胜安装EPEL - 释放
yum install - y主管
生成配置文件
supervisord - ç / 等/ supervisord 。conf
然后修改配置文件vim /etc/supervisord.conf
将网络服务打开,需要注意ip地址要写*,否则外网访问不了,而用户名和密码就是登录服务页面的用户名和密码,可以改的复杂一点,另外阿里云也需要大量网暴露一下9001端口
[ inet_http_server ] ; 默认情况下,Inet (TCP )服务器已禁用
端口= *:9001 ; (IP_ADDRESS :端口说明符,*:端口用于所有IFACE )
的用户名= 用户 ; (默认是没有用户名(打开服务器))
密码= 123 ; (默认为无密码(打开服务器))
然后添加uwsgi服务的配置
[ 程序:mypro ]
命令= uwsgi / USR / 本地/ 仓/ uwsgi - INI / 根/ js_back / js_back_uwsgi 。ini ; 启动命令,可以抛光与手动在命令行启动的命令是一样的
autostart = false ; 在supervisord 启动的时候也自动启动
stopsignal = QUIT
用户= 根
startsecs = 5 ; 启动5 秒后没有异常退出,就当作已经正常启动了
startretries = 3 ; 启动失败自动重试次数,默认是3
自动重= 真 ; 程序异常退出后自动重启
了redirect_stderr = 真 ; 把标准错误重定向到stdout ,默认为false
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,
大约50 MB stdout_logfile = / root / js_back_uwsgi 。日志
stderr_logfile = / root / js_back_err 。日志
最后我们知道,Supervisord只能控制非守护进程,而uwsgi本身就已经成为守护进程的配置,所以需要修改项目的uwsgi配置,将守护进程配置注掉vim js_back_uwsgi.ini
[ uwsgi ]
chdir = / 根/ js_back
模块 = js_back 。gi
主 = 真
进程 = 3
套接字 = 0.0 。0.0 :8001
真空 = 真
pythonpath = / usr / bin中/ python3
pidfile = / 根/ js_back / js_back 。pid
#注释掉daemonize模式,因为Supervisor无法控制守护进程服务#daemonize = /root/js_back/uwsgi.log
最后启动服务
supervisord - ç / 等/ supervisord 。conf
如果想杀死服务可以输入命令,因为supervisor是基于python2的,那么不用担心python3的进程
killall - s INT / usr / bin中/ python
最后访问服务管理界面http:// ip:9001,就可以管理你服务器上的服务啦