Linux常见应用服务配置模式nginx和supervisor:采用主配置文件+项目配置文件

安装(如果使用pip安装注意看是否需要指定使用python2版本)

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

第一步:在Linux中使用apt-get 指令安装

sudo apt-get install supervisor

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第1张

 

第二步:检查或创建主服务配置文件

输入指令:sudo supervisord  如果出现以下内容说明没有主配置文件

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第2张

 

检查主配置文件 /etc/supervisor/supervisord.conf(如果不存在就需要创建)

创建方法:使用命令生成一个主配置文件

sudo echo_supervisord_conf > /etc/supervisor/supervisord.conf

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第3张

这个命令比较特殊,因为要使用root用户权限。所以我们先把supervisord.conf 文件先生成到当前目录下(项目根目录下)。

 echo_supervisord_conf > supervisord.conf

 然后在创建一个文件夹 mkdir deploy 把上面创建的supervisord.conf主进程文件移动到这个文件夹中(这个目录也可以通过pycharm在项目的根目录下创建也可以)

 Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第4张

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第5张

查看主配置文件supervisord.conf 检查include配置 没有就加上其它项目配置文件目录地址。

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第6张

Settings->Editor->FileTypes->Ini:点击加号添加文件后缀

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第7张

现在我们已经把著配置文件已经创建好了,但是现在这个主配置文件是在我们项目的根目录下结构是 如下:

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第8张

现在我们需要把这个主配置文件复制到 /etc/supervisor/supervisord.conf

sudo cp deploy/supervisord.conf /etc/supervisor/  

然后使用 ls -l /etc/supervisor/ 命令查看是否已经复制过去了。

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第9张

注意:当我们项目中supervisord.conf文件进行了编辑修改,我们都需要再次执行 sudo cp deploy/supervisord.conf /etc/supervisor/ 命令。(因为要保持项目中的supervisord.conf文件和 /etc/supervisor/supervisord.conf文件夹中的supervisord.conf文件一致)

第三步:检查supervisord运行状态

 使用 ps -ef|grep super指令查看首次安装应该只有下面一个进程

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第10张

启动一个进程:supervisord 再次查看 

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第11张

 

 第四步:配置项目配置文件

在项目的deploy文件夹中创一个项目配置文件tudo_super.conf(随便命名)

参数说明看备注。

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第12张

然后将这个项目配置文件复制到 /etc/supervisor/conf.d/

 Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第13张

在Linux中执行指令:sudo cp deploy/tudo_super.conf /etc/supervisor/conf.d/

sudo cp deploy/tudo_super.conf /etc/supervisor/conf.d/

  

查看是否已经复制过去了

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第14张

最后重新启动 (这里可能有不同错误,需要根据日志去排查bug 向我这里就是因为项目配置文件里路径写错了。)

注意命令是否需要root权限 就是加不加sudo

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第15张

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第16张

 

通过 ps -ef|grep python 指令查看并没有启动我项目配置的8000端口的程序

需要通过sudo supervisorctl status指令查看,这时候发现出错了,可以结合配置的日志路径去查看输出的日志。解决bug

通过 sudo supervisorctl start tornadoes:tornado-8000 来启动

注意:当项目中配置文件(tudo_super.conf)进行修改了,也需要复制到 /etc/supervisor/conf.d/目录下 ,

也就是必须在执行一遍复制命令:sudo cp deploy/tudo_super.conf /etc/supervisor/conf.d/

启动成功:

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第17张 

这样我们的项目通过supervisor成功启动起来了。

supervisorctl 命令介绍

 

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第18张

使用web窗口管理supervisorctl(在主配置文件中修改如下配置)

 Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第19张

注意:这时候你修改了项目中的主配置文件,不要忘记同步/etc/supervisor/supervisord.conf 文件 ,在Linux系统中直接执行复制命令:sudo cp deploy/supervisord.conf /etc/supervisor/ 

然后重启 supervisor,打开页面输入地址127.0.0.1:9001 回车即可。

Python学习笔记【Supervisor】:使用Supervisor监控Tornado进程 Python 第20张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄