Supervisor
一、定义:
Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.
It shares some of the same goals of programs like launchd, daemontools, and runit. Unlike some of these programs, it is not meant to be run as a substitute for init as “process id 1”. Instead it is meant to be used to control processes related to a project or a customer, and is meant to start like any other program at boot time.
二、解释:
Supervisor 是一个允许用户在类unix操作系统上监控和控制一批进程的客户端/服务系统。
它实现了像程序:launchd、daemontools、runit 一样的功能。 但是不像上面这些程序,它并不是通过以'process id 1'方式初始化替代,而是直接控制与用户或者项目相关的那些进程。
三、举例:
Superviosor 的安装与用法很简单:
安装: pip install supervisor
用法:
1、到supervisor的安装目录执行:echo_supervisord_conf > /etc/supervisord.conf ,如果无root权限可直接执行:echo_supervisord_conf > supervisord.conf 然后启动的时候使用 -c 参数来指定对应的配置文件, 如:supervisord -c supervisord.conf
2、在配置文件里面配置服务, 如:
[program:myblog] command=gunicorn -c guni.conf manage:app --preload ; supervisor启动命令 directory=/Users/aoyanming/projects/myblog/ ; 项目的文件夹路径 autostart=false ; 是否自动启动 autorestart=false ; 是否自动重启 environment=PYTHONPATH=/usr/bin/python stdout_logfile=/Users/aoyanming/projects/myblog/log/gunicorn.log ; log 日志 stderr_logfile=/Users/aoyanming/projects/myblog/log/gunicorn.err 注意:environment一定要加上python路径,如果supervisor不是安装在python环境下的话
定义中提到supervisor是客户端/服务系统,前面讲述的只是服务端的配置以及启动,那么客户端自然是用来控制服务端里面配置的进程的。在服务端启动后, 默认(当然可以配置)会在本地
9001端口启动web服务,用来对已配置好的进程进行相关的控制以及监控操作。 如此,nginx搞个反向代理, 另外配个域名解析到对应的服务器IP,这样项目就能做到实时控制以及监控 。界面如图:
Copyright © 2021.aoyanming个人博客站
发表评论