首页 > 系统相关 >centos7 安装supervisor教程以及常见问题

centos7 安装supervisor教程以及常见问题

时间:2024-04-15 10:55:59浏览次数:29  
标签:常见问题 supervisor supervisord 配置文件 centos7 program logfile name

目录

简介

Supervisor 是一个进程控制系统。它是一个 C/S 系统 (注意:其提供 WEB 接口给用户查询和控制)。它允许用户去监控和控制在类 UNIX 系统的进程。它的目标与 launchd、daemontools 和 runit 有些相似。但是与它们不一样的是、它不是作为 init (进程号 pid 是 1) 运行。它是被用来控制进程、并且它在启动的时候和一般程序并无二致。

作用

你的 Nginx,Tomcat,memcache,Redis… 会崩么?
那你自己写的服务器监测脚本呢?
好吧、不要再纠结了、交给 Supervisor 吧!
它会帮你维护这些、即使它们不小心崩了、Supervisor 会帮你看住它们、维护它们。

名词说明

supervisor:要安装的软件的名称。
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
supervisorctl:用于管理supervisor配置文件中program。

安装和配置

前置条件安装前需要将用户切换为root下

安装Linux的epel的yum源的命令,某些yum源会提示无supervisor源码包,此时可以使用此命令

yum install epel-release

安装

yum install -y supervisor

设置开启自启

systemctl enable supervisord

启动supervisord服务

systemctl start supervisord
# 重启
systemctl restart supervisord

查看supervisord服务状态

ps -ef|grep supervisord 

配置

vim /etc/supervisord.conf

# 调整增加引入配置文件路径,这个路径放置项目对应的 supervisor 配置文件
[include]
files = /etc/supervisor/*.conf 

配置模版

[program:laravel-worker1]
process_name=%(program_name)s_%(process_num)02d
command=php /home/wwwroot/studytime.xin/artisan queue:work redis --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=3
redirect_stderr=true
stdout_logfile=/home/baihe/worker1.log

配置说明

;*为必须填写项
;*[program:应用名称]
[program:cat]
;*命令路径,如果使用python启动的程序应该为 python /home/test.py, 
;不建议放入/home/user/, 对于非user用户一般情况下是不能访问
command=/bin/cat
;当numprocs为1时,process_name=%(program_name)s
;当numprocs>=2时,%(program_name)s_%(process_num)02d
process_name=%(program_name)s
;进程数量
numprocs=1
;执行目录,若有/home/supervisor_test/test1.py
;将directory设置成/home/supervisor_test
;则command只需设置成python test1.py
;否则command必须设置成绝对执行目录
directory=/tmp
;掩码:--- -w- -w-, 转换后rwx r-x w-x
umask=022
;优先级,值越高,最后启动,最先被关闭,默认值999
priority=999
;如果是true,当supervisor启动时,程序将会自动启动
autostart=true
;*自动重启
autorestart=true
;启动延时执行,默认1秒
startsecs=10
;启动尝试次数,默认3次
startretries=3
;当退出码是0,2时,执行重启,默认值0,2
exitcodes=0,2
;停止信号,默认TERM
;中断:INT(类似于Ctrl+C)(kill -INT pid),退出后会将写文件或日志(推荐)
;终止:TERM(kill -TERM pid)
;挂起:HUP(kill -HUP pid),注意与Ctrl+Z/kill -stop pid不同
;从容停止:QUIT(kill -QUIT pid)
;KILL, USR1, USR2其他见命令(kill -l),说明1
stopsignal=TERM
stopwaitsecs=10
;*以root用户执行
user=root
;重定向
redirect_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/a/path
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
;环境变量设置
environment=A="1",B="2"
serverurl=AUTO

浏览器查看进程信息配置说明

[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001          ; (ip_address:port specifier, *:port for all iface)
username=user              ; 用户名 (default is no username (open server))
password=123               ; 密码 (default is no password (open server))

其他常用命令

# 读取有更新(增加)的配置文件,不会启动新添加的程序
supervisorctl reread 

# 重启配置文件修改过的程序
supervisorctl update 

# 启动 larashop-worker 程序
supervisorctl start larashop-worker:* 

# 查看状态
supervisorctl status 

常见问题以及说明

端口暂用,Error: Another program is already listening on a port that one of our HTTP servers is configured to use.

python 环境选择上使用python2作为默认python版本

安装启动过程中提示无配置文件

easy_install supervisor
echo_supervisord_conf > /etc/supervisord.conf

标签:常见问题,supervisor,supervisord,配置文件,centos7,program,logfile,name
From: https://www.cnblogs.com/ILoveJackSparrow/p/18135439

相关文章

  • Centos7 中使用Supervisor守护进程
    配置supervisor实现进程守护1.安装supervisoryuminstallSupervisor 2.启动服务supervisord-c/etc/supervisord.conf 进入cd/etc目录找到supervisord.conf配置文件和supervisord.d文件夹,使用vim编辑supervisord.conf文件,拉到最底部我们可以看到 fil......
  • LlamaIndex 常见问题解答(FAQ)
     提示:如果您尚未完成,请安装LlamaIndex并完成起步教程。遇到不熟悉的术语时,请参考高层次概念部分。在这个章节中,我们将从您为起步示例编写的代码开始,展示您可能希望针对不同应用场景对其进行的常见定制方法:python fromllama_index.coreimportVectorStoreIndex,Simp......
  • 在centos7下面,安装mysql,并设置 用户名为henry
    好的,以下是在CentOS7下安装MySQL并完成你所要求的操作的详细步骤:1.**安装MySQL**:首先,使用`yum`包管理器安装MySQL:sudoyuminstallmysql-server 2.**启动MySQL服务**:安装完成后,启动MySQL服务:sudosystemctlstartmysqld 3.**设置MySQL开机自启......
  • centos7配置yum国内镜像
    1、cd到yum源文件所在位置cd/etc/yum.repos.d2、备份CentOS-Base.repo源文件mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup3、下载阿里云yum源配置文件wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/rep......
  • 虚拟机(一)centos7镜像下载
    一、因为Centos官网是挂在国外的服务器上,下载镜像时相比于国内的下载速度会慢很多,所以在这里向大家分享两个国内的镜像站去下载Centos镜像。二、前往阿里云镜像站下载Centos7镜像1、阿里云官网地址:https://www.aliyun.com/ 2、点击左上角的【文档与社区】展开选择【镜像站】......
  • 变频器常见问题
    A1.MM440变频器参数复位的步骤如下:P0003=(恢复出厂设置),P0010=(停止电机),P0970=(参数设置)。2.MM440变频器快速调试的步骤如下:P0010=(停止电机),P0304=(频率给定方式选择),P0305=(模拟量频率给定),P0307=(电机额定转速频率),P0310=(额定电流0.66A、额定功率60W),P0311=(模......
  • 服务器确保已安装了 EPEL 软件源,依然无法安装 supervisor
    如果你已经安装了EPEL软件源但仍无法安装Supervisor,可能是因为Supervisor并不在EPEL软件源中。在这种情况下,你可以尝试通过Python的包管理工具pip来安装Supervisor。请按照以下步骤操作:确保已安装Python和pip。如果尚未安装,可以使用以下命令安装:sudoyuminstall......
  • fs.1.10 ON CENTOS7 dockerfile模式
     概述freeswitch是一款简单好用的VOIP开源软交换平台。centos7docker上编译安装fs.1.10的流程记录,本文使用dockerfile模式。环境dockerengine:Version24.0.6centosdocker:7freeswitch:v1.10.7dockerfile创建空目录,创建dockerfile文件。github访问经常失败,先下载好源......
  • Centos7常用命令
    话不多说,跟我学习Centos7常用命令!目录和文件#创建目录mkdir名称=>mkdir/data#创建目录及子目录mkdir-p名称=>mkdir-p/data/node#创建一个或多个(用空格分开即可)touch文件1文件2=>touch1.txt2.txt#复制文件cp文件目录=>cp1.txt/opt/data#......
  • Centos7-kvm-WEB管理工具kimchi使用篇
    镜像上传接上篇安装完wok和kimchi这两个服务后,能正常访问https://localhost:8001 (输入地址一定是Https!!!)   功能介绍导航栏wok是查看报错日志和操作记录的,同时设置项可以开关kimchi状态     导航栏的Virtualization分为访客模板存储器网络(这......