全栈直通车-王世彪的博客
关注公众号
  • 开发桌面程序
  • javascript教程
  • css样式
  • vuejs
  • 部署免费CDN
  • SEO搜索引擎优化
  • vuepress教程
  • redis分布式缓存
  • Golang
  • PHP
  • Python
  • Java
  • NodeJs
  • tomcat
  • ELK
  • Mysql数据库
  • Nosql数据库
  • C/C++底层开发
  • 音视频/流媒体
  • linux服务器
  • nginx服务器
  • 容器技术
  • 负载均衡
  • 项目管理
  • 持续集成
  • 大数据
  • 微信公众号运营
  • markdown用法
赞一个
友链
联系作者

王世彪

努力做个影响他人滴人
关注公众号
  • 开发桌面程序
  • javascript教程
  • css样式
  • vuejs
  • 部署免费CDN
  • SEO搜索引擎优化
  • vuepress教程
  • redis分布式缓存
  • Golang
  • PHP
  • Python
  • Java
  • NodeJs
  • tomcat
  • ELK
  • Mysql数据库
  • Nosql数据库
  • C/C++底层开发
  • 音视频/流媒体
  • linux服务器
  • nginx服务器
  • 容器技术
  • 负载均衡
  • 项目管理
  • 持续集成
  • 大数据
  • 微信公众号运营
  • markdown用法
赞一个
友链
联系作者
  • linux

    • linux日志管理工具logrotate
    • linux xargs用法
    • linux搭建个人网盘filebrowser
    • linux搭建个人网盘nextcloud
    • linux搭建个人网盘cloudreve
    • linux合并文件行
    • linux合并文件列
    • linux awk的用法
    • centos升级git版本
    • linux 搭建web服务的若干方法
    • linux 修改文件的MD5
    • linux json解析工具jq
    • ubuntu截图工具
    • linux生成桌面快捷方式
    • centos设置grub密码
    • centos6安装nginx
    • centos6配置yum镜像仓库
    • ubuntu 安装 chrome 浏览器
    • linux查看cpu和内存占用
    • linux分区
    • linux创建swap虚拟内存
    • linux shell计算浮点数除法
    • linux shell遍历数组
    • linux使用Systemd管理系统服务
    • linux使用supervisor管理系统服务
      • 安装 supervisor 管理工具
      • 基于模板生成 supervisor 的通用配置文件
      • 启动 supervisor
      • 支持应用程序自动重启
      • 管理应用程序
      • 注意
    • centos 安装远程控制工具 VNC
    • linux安装wine
    • linux查看硬件信息
    • linux修复磁盘分区
    • linux带宽监控工具
    • wireshark抓包工具教程
    • linux设置文件句柄上限
    • sftp不允许ssh登录
    • centos安装vsftpd
    • alpine配置国内镜像仓库
    • alpine配置中国时区
  • macOS

  • nginx

  • docker

  • 负载均衡

  • 项目管理

  • 持续集成

  • 大数据

  • 域名

  • 运维
  • linux
王世彪
2020-07-06

linux使用supervisor管理系统服务

# linux 使用 supervisor 管理系统服务

本文讲述 linux 系统如何使用 supervisor 管理系统服务。传统的 linux 系统服务管理采用的是 init 脚本(如 centos 6)。使用 supervisor 方案可以支持服务进程死掉后自动重启。

提示

  • 提供与Systemd类似的功能。
  • 若 docker 宿主机的操作系统版本过低(如 centos6),那么生成的 docker 容器中无法使用 systemctl,进而无法使用 Systemd 管理后台服务,此时可以使用 supervisor 方案。

# 安装 supervisor 管理工具

# centos 安装 supervisor

建议使用centos7版本以上, centos6仓库没有提供该软件包,安装supervisor的步骤比较繁琐。

yum install supervisor

还可以通过python包管理工具pip来安装,步骤如下: yum install python-setuptools -y
easy_install pip
pip install supervisor

# 基于模板生成 supervisor 的通用配置文件

echo_supervisord_conf > /etc/supervisord.conf
补充如下配置

[include]
files = /etc/supervisord.d/*.conf

为了方便管理,每个应用程序在/etc/supervisord.d 下创建一份单独的配置文件。

# 启动 supervisor

supervisord -c /etc/supervisord.conf

# 支持应用程序自动重启

提示

此处以/root/redirect-api --profile back-pro 为例。

  1. 创建配置文件/etc/supervisord.d/redirect.conf
[program:redirect]
command=/root/redirect-api --profile back-pro    ; 被监控的进程路径
priority=1                    ;数字越高,优先级越高
numprocs=1                    ; 启动几个进程
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=100               ; 启动失败时的最多重试次数
exitcodes=0                   ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout
stdout_logfile=/var/log/supervisor.log ; 配置标准输出日志文件
stderr_logfile=/var/log/supervisor.log ; 配置错误输出日志文件

若程序启动时需要指定当前工作目录,那么还需要配置directory参数

  1. 重新加载配置文件 supervisorctl reload

# 管理应用程序

# 通过命令行管理

提示

此处以 redirect 应用程序为例。

supervisorctl status redirect
supervisorctl stop redirect
supervisorctl start redirect
supervisorctl restart redirect

把redirect换成all,即可管理所有应用程序。

# 通过 web 界面管理

这是 supervisor 的特色功能,Systemd 无此功能。
相关使用方法待日后完善。

# 注意

# supervisor 只能运行前台命令

无法运行 daemon 服务,如 service httpd start。
若想运行 daemon 服务,也有解决方法,请自行查找教程。

#supervisor#linux#服务管理
上次更新: 2021-05-18 18:23:09
linux使用Systemd管理系统服务
centos 安装远程控制工具 VNC

← linux使用Systemd管理系统服务 centos 安装远程控制工具 VNC→

最近更新
01
mysql创建用户
04-09
02
golang错误处理最佳实践
03-17
03
基于proto文件生成rpc接口定义文档
03-11
更多文章>
Theme by Vdoing | Copyright © 2019-2022 王世彪 | MIT License
冀ICP备19016776号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式