当前位置: 首页 > article >正文

Supervisor使用教程

文章目录

    • @[toc] Supervisor使用教程
      • 平台要求
    • 安装supervisor
    • 本文测试的时候是使用Linux的yum安装的(其它方式未做测试)
    • 加入系统守护进行

Supervisor使用教程

在项目中,经常有脚本需要常驻运行的需求。以PHP脚本为例,最简单的方式是:

$ nohup php swoole.php &

在项目中,经常有脚本需要常驻运行的需求。或者Go为例,最简单的方式是:

$ nohup ./casdoor &

这样能保证当前终端被关闭或者按CRTL+C后,脚本仍在后台运行。但是没法保证脚本异常后自动重启等。

Supervisor 是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

官网介绍:http://supervisord.org/
引自官网

本文所用环境:

  • CentOS release 7.9
  • Python 2.7.5
  • pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)
  • supervisor 3.4.0

平台要求


引自官网

Supervisor已经过测试,可以在Linux(Ubuntu 9.10),Mac OS X(10.4 / 10.5 / 10.6)和Solaris(10 for Intel)和FreeBSD 6.1上运行。它可能在大多数UNIX系统上都能正常工作。在任何版本的Windows下,Supervisor 都不会运行。Supervisor 可以使用Python 2.4或更高版本,但不能在任何版本的Python 3下使用。

我使用的环境:

$ python -V
Python 2.6.6

安装supervisor

Linux安装命令:

 $ sudo yum install supervisor

判断是否安装成功:

 $ supervisord --version

显示版本号,即表示安装成功。

本文测试的时候是使用Linux的yum安装的(其它方式未做测试)

安装后配置文件生成:

1、在centos7.9版本通过yum安装后,需要运行

$ systemctl start supervisord

2、使用yum安装后,supervisor的主配置文件在:

/etc/supervisord.conf

supervisor的配置文件在最后一行引入,子进程配置文件在:

/etc/supervisord.d/*.ini

这样就可以支持子配置文件,而不用改动主配置文件。

加入系统守护进行

1、进入supervisor的配置目录

cd /etc/supervisord.d

如果没有该文件夹进行创建

2、配置守护进程 创建casdoor.ini文件,并配置。

[program:casdoor]
directory = 你的程序目录
command =你的程序执行命令
autostart = true
autorestart=true
user = 启动该程序的用户
redirect_stderr = true
stdout_logfile = 日志地址

go程序配置示例:

[program:casdoor]
directory = /root/go/sso.golangblogs.com
command =/root/go/sso.golangblogs.com/casdoor
autostart = true
autorestart=true
user = root
redirect_stderr = true
stdout_logfile = /var/log/supervisor/casdoor.log

配置完成之后,重启supervisor

systemctl restart supervisord #重启方式一
supervisorctl reload#重启方式二

最后记得配置开机自启

sudo systemctl enable supervisord

至此就是实现了supervisor进行常驻内存了

在这里插入图片描述


http://www.kler.cn/a/419368.html

相关文章:

  • vxe-table 树形表格序号的使用
  • WPF_3
  • 《如何使用Unity的Avatar人偶以及启动重定向-实现2个或多个人物模型使用同一个动画片段》
  • 32 从前序与中序遍历序列构造二叉树
  • 【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
  • matlab2024a安装
  • Ubuntu20.04离线安装全教程(包括DellR940重置Raid 5、安装Ubuntu、设置root、安装nvidia英伟达显卡驱动及设置防火墙白名单)
  • C#窗体小程序计算器
  • matlab2024a安装
  • PHP 去掉特殊不可见字符 “\u200e“
  • Electron + vue3 打包之后不能跳转路由
  • 【网络篇】HTTP知识
  • vue基础之2:搭建vue开发环境、Hello小案例
  • 【单细胞数据库】癌症单细胞数据库CancerSEA
  • 在开发环境中,前端(手机端),后端(电脑端),那么应该如何设置iisExpress
  • MySQL 数据库学习教程一:开启数据库探索之旅
  • 24.useRequestAnimationFrame
  • C++面试基础知识:移动语义 Perfect Forwarding
  • Cesium 与 Leaflet:地理信息可视化技术比较
  • 掌上单片机实验室 — RT - Thread+ROS2 浅尝(26)
  • 服务器处理HTTP
  • Vim小白学习指南
  • Vue3 Ts 如何获取组件的类型
  • 项目二技巧一
  • Redis中常见的延迟问题
  • unity中控制相机跟随物体移动