在阿里云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,就可以管理你服务器上的服务啦

img

最后修改:2021 年 08 月 11 日
如果觉得我的文章对你有用,请随意赞赏