supervisor 常用命令的使用 及开机启动 开启守护

本文档详细介绍了如何安装和配置Supervisor来管理Gunicorn进程。首先,通过pip安装Supervisor并创建软链接,然后设置配置文件,包括环境变量和开机自启。接着,展示了如何启动、停止、重启Supervisor服务以及使用supervisorctl进行进程管理。最后,针对具体项目创建用户配置,包括指定命令、工作目录、用户以及自动启动和重启选项,并演示了如何运行Gunicorn服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、开启命令

  1. supervisor的服务器端部分启动命令:
  • sudo unlink /var/run/supervisor.sock
  • supervisord -c /etc/supervisor/supervisord.conf
    此时默认开启了所有服务
  1. supervisor的客户端部分命令:
  • supervisorctl status 查看进程运行状态
  • supervisorctl start 进程名 启动进程
  • supervisorctl stop 进程名 关闭进程
  • supervisorctl restart 进程名 重启进程
  • supervisorctl reread 重新读取配置
  • supervisorctl update 重新载入配置文件
  • supervisorctl shutdown 关闭supervisord
  • supervisorctl clear 进程名 清空进程日志
  • supervisorctl 进入到交互模式下。使用help查看所有命令。
  • start stop restart + all 表示启动,关闭,重启所有进程。

二、关闭命令

supervisorctl stop all先关闭supervisor服务
之后再关闭supervisord服务
kill -9 pid

-------------------------------------------------------------------------------------------------------------------------------------------------------------

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时停止所有相关子进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值