展开

文章目录

修改历史

历史修改版本

  1. 2021-03-22 15:41:43

使用supervisor管理web应用出错重启等状态

2020-10-12 16:31:58 应用部署 355

简介

在前面,我们直接通过命令来运行gunicorn,这并不是十分的可靠。我们需要一个工具来自动管理在后台来运行它,同时监控它的运行状况,并在系统出错或是重启时自动重启程序。

安装supervisor

supervisor是一个采用Python开发的进程管理工具,我们可以使用pip的方式来安装它,同时它也是一个软件,我们可以通过如下命令来安装它。

sudo apt-get install supervisor

supervisor只在Linux系统下生效!

配置supervisor

安装完成之后,会自动将其配置文件添加到/etc/supervisor/supervisor.conf文件中,为了便于管理,我们可以在/etc/supervisor/conf.d/目录下新建一个我们自己的配置文件,在这个目录下的配置文件会自动被添加到/etc/supervisor/supervisor.conf文件中去。

sudo vim /etc/supervisor/conf.d/blog.conf

在当中输入如下内容。

[program:flask-blog-owner]
command=/home/ubuntu/blog/flask-blog-owner/bash.sh
directory=/home/ubuntu/blog/flask-blog-owner
user=root
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
  1. program为你的程序名
  2. command是你要运行的命令,一般是程序启动命令
  3. 你的应用程序的主目录
  4. user、autostart等是一些常规设置,根据需要可以灵活配置修改

bash脚本

如果你使用的是pipenv创建虚拟环境的话,这一步可以省略直接在上一节command命令改为下面内容。

command=pipenv run gunicorn -w 4 wsgi:app

因为我的应用程序中采用了virtualven来创建虚拟环境,所以在项目根目录中创建一个bash脚本

#! /bin/bash
cd /home/ubuntu/blog/flask-blog-owner
source venv/bin/activate
exec gunicorn -w 4 wsgi:app

上述内容根据自己的实际情况进行修改。

使用supervisor运行管理程序

sudo service supervisor restart
sudo supervisorctl

输出如下内容,则表示应用运行成功,你可以在浏览器中访问进行测试。

当前共有1条评论


清水 博主

不错哦