使用supervisor守护gunicorn运行

1、安装supervisor

supervisor4.0.0已支持python3,需使用pip安装

sudo pip install supervisor

2、软连接,使其正常执行命令

sudo ln -s /usr/local/bin/supervisord /usr/bin/supervisord

sudo ln -s /usr/local/bin/supervisorctl /usr/bin/supervisorctl

3、产生设置

sudo mkdir /etc/supervisor #创建supervisor,若存在请忽略

sudo mkdir /etc/supervisor/conf.d #创建conf.d,若存在请忽略

sudo echo_supervisord_conf > /etc/supervisor/supervisord.conf 添加设置

4、修改设置

sudo vim /etc/supervisor/supervisord.conf #在[supervisord]下面添加environment=LC_ALL='en_US.UTF-8',LANG='en_US.UTF-8'解决编码问题,将末尾的[include]部分改为:files = /etc/supervisor/conf.d/*.conf 读取用户配置

5、设置开机自启

sudo vim /usr/lib/systemd/system/supervisord.service

#添加以下内容并保存

[Unit]

Description=Supervisor daemon

[Service]

Type=forking

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf #读取配置

ExecStop=/usr/bin/supervisorctl shutdown

ExecReload=/usr/bin/supervisorctl reload

KillMode=process

Restart=on-failure

RestartSec=42s

[Install]

WantedBy=multi-user.target

5、使用systemctl执行相关命令

sudo systemctl start supervisord #启动 Supervisor 服务

sudo systemctl stop supervisord #停止 Supervisor 服务

sudo systemctl restart supervisord #重启 Supervisor 服务

sudo systemctl status supervisord #查看 Supervisor 服务状态

sudo systemctl enable supervisord #设置 Supervisor 服务开机自启动

sudo systemctl disable supervisord #关闭 Supervisor 服务开机自启动

6、安装gunicorn

进入项目根目录

pipenv install gunicorn

7、用户配置

sudo vim /etc/supervisor/conf.d/xxx.conf #xxx项目名称

#添加以下内容

[program:xxx] #xxx项目名称

command=pipenv run gunicorn -w 5 app:app #使用pipenv运行gunicorn程序 -w 5(2*cpu核心数 + 1)

directory=/home/overman/fangjuhe #项目根目录

user=xxx #创建该项目用户

autostart=true #在supervisord启动的时候也自动启动

autorestart=true #程序异常退出后自动重启

stopasgroup=true #确保关闭supervisord时停止所有相关子进程

killasgroup=true #确保关闭supervisord时停止所有相关子进程

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 张扬看着满脸通红的姜韵,长舒一口气,坏笑着说:舒坦。姜韵一把推开他,跑到洗手间狠狠的搓自己的脸,张扬在她身...
    伯勤阅读 364评论 1 5
  • 祖国啊,你可知 银白旗杆上飘着的是我对您的惆帐。 £您是屹立于东方崛起的雄鸡, 不似猛虎, 但有万般柔情。 不胜皎...
    许子涵阅读 155评论 0 1
  • 懿懿懿懿懿懿懿阅读 2,529评论 0 0