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

一、开启命令

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



作者:初见风吟_overman
链接:https://www.jianshu.com/p/3e1f7b8b6214
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


作者:黑暗中的杜迪安
链接:https://www.jianshu.com/p/c8071234f081
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2021-10-16 11:06  AKX  阅读(2492)  评论(0编辑  收藏  举报