详细版 Supervisor 排查与配置指南

supervisor篇---后台程序监控 文章目录一:安装二:配置三:程序配置四:supervisorctl使用五:设置开机自启ubuntucentos supervisor 官网 http://supervisord.org/installing.html 一:安装 安装可以通过 pip 安装 sudo pip install supervisor 二:配置 1.通过 echo_supervisord_conf 命令生成配置文件,路径随意 echo_supervisord_conf > /etc/supervisord.co. 阅读详情
AI摘要

该博客提供了详细的 Supervisor 排查与配置指南,包含安装、启动、验证服务状态、检查配置文件、权限设置、解决常见问题、日志分析等步骤,还介绍了通过 Systemd 管理 Supervisor,适用于各种场景。

详细版 Supervisor 排查与配置指南

第 1 步:确保 Supervisor 已正确安装

  1. 检查是否已安装 Supervisor:
    使用以下命令查看 Supervisor 是否已安装:

    which supervisord
    

    如果返回路径(例如 /usr/bin/supervisord),说明已安装。如果未安装,继续下一步。

  2. 安装 Supervisor:

    • CentOS/RHEL 系列:
      yum install epel-release -y
      yum install supervisor -y
      
    • Ubuntu/Debian 系列:
      apt update
      apt install supervisor -y
      
  3. 验证安装版本:
    查看 Supervisor 的安装版本:

    supervisord --version
    

第 2 步:启动 Supervisor 并验证服务状态

  1. 启动 supervisord 服务:
    如果是手动运行 Supervisor,使用以下命令启动:

    supervisord -c /etc/supervisord.conf
    

    如果使用 systemd 管理服务,运行:

    systemctl start supervisord
    
  2. 查看 supervisord 状态:
    查看 Supervisor 是否正在运行:

    ps aux | grep supervisord
    
  3. 验证服务状态:
    使用以下命令检查服务状态:

    systemctl status supervisord
    
  4. 停止可能的重复进程:
    如果发现多个 Supervisor 实例运行,停止所有实例:

    pkill supervisord
    

第 3 步:检查主配置文件的正确性

  1. 主配置文件路径:
    常见的主配置文件路径为 /etc/supervisord.conf,如果不确定路径,可以运行:

    find /etc -name "supervisord.conf"
    
  2. 关键配置项:
    打开 /etc/supervisord.conf,确保以下内容存在:

    [supervisord]
    logfile=/var/log/supervisor/supervisord.log  ; 主日志文件路径
    pidfile=/var/run/supervisord.pid            ; PID 文件路径
    childlogdir=/var/log/supervisor             ; 子程序日志路径
    
    [unix_http_server]
    file=/var/run/supervisor.sock               ; socket 文件路径
    chmod=0700                                  ; 权限设置
    
    [include]
    files = /etc/supervisord.d/*.conf           ; 子配置文件目录及匹配规则
    
  3. 测试配置文件语法:
    使用以下命令测试主配置文件是否有语法错误:

    supervisord -n -c /etc/supervisord.conf
    

    如果有语法错误,请根据提示修复。


第 4 步:检查文件与目录的权限

  1. 检查 Supervisor 的运行目录:
    确保以下目录存在并具有适当权限:

    mkdir -p /var/log/supervisor /var/run
    chmod -R 755 /var/log/supervisor /var/run
    
  2. 检查子配置文件目录:
    查看 /etc/supervisord.d/ 目录下的文件:

    ls -l /etc/supervisord.d/
    

    确保所有配置文件均可被 root 或运行用户读取。


第 5 步:验证子程序配置文件

  1. 检查程序配置文件:
    打开 /etc/supervisord.d/*.conf 文件,确保以下关键参数正确配置:

    [program:example_program]
    directory=/path/to/program                 ; 程序运行目录
    command=/path/to/program_binary            ; 程序启动命令
    autostart=true                             ; Supervisor 启动时自动运行
    autorestart=true                           ; 异常退出时自动重启
    user=root                                  ; 运行用户(可根据需要修改)
    stdout_logfile=/var/log/supervisor/example.log ; 标准输出日志
    stderr_logfile=/var/log/supervisor/example.err ; 标准错误日志
    
  2. 验证程序文件是否存在并可执行:

    ls -l /path/to/program_binary
    

    如果文件没有执行权限,添加权限:

    chmod +x /path/to/program_binary
    
  3. 检查日志路径是否存在:
    如果配置了日志路径(如 /var/log/supervisor/example.log),确保目录存在:

    mkdir -p /var/log/supervisor
    chmod -R 755 /var/log/supervisor
    

第 6 步:重新加载配置并测试 Supervisor

  1. 重新加载配置:

    supervisorctl reread
    supervisorctl update
    
  2. 查看 Supervisor 管理的程序状态:

    supervisorctl status
    

第 7 步:解决常见问题

  1. 端口冲突:
    如果日志中显示端口被占用,检查默认端口(9001)是否冲突:

    netstat -tulnp | grep 9001
    

    如果冲突,修改 /etc/supervisord.conf 中 [inet_http_server] 的端口:

    [inet_http_server]
    port=127.0.0.1:9002
    
  2. 权限问题:
    如果日志中提示 Permission denied,检查相关目录的权限,确保其对运行用户可读写。

  3. 配置文件未加载:
    如果某些子配置文件未被加载,检查 [include] 的文件扩展名规则是否匹配实际文件名。


第 8 步:通过 Systemd 管理 Supervisor

  1. 创建 Systemd 服务文件:
    如果缺少 /etc/systemd/system/supervisord.service 文件,可以创建:

    [Unit]
    Description=Supervisor process control system
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
    ExecStop=/usr/bin/supervisorctl shutdown
    ExecReload=/usr/bin/supervisorctl reload
    KillMode=process
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
  2. 加载并启用服务:

    systemctl daemon-reload
    systemctl enable supervisord
    systemctl start supervisord
    
  3. 查看服务状态:

    systemctl status supervisord
    

第 9 步:检查日志文件以定位问题

  1. Supervisor 主日志文件:
    查看 /var/log/supervisor/supervisord.log:

    tail -f /var/log/supervisor/supervisord.log
    
  2. 程序日志文件:
    如果配置了 stdout_logfile 或 stderr_logfile,检查对应日志文件中的错误信息。


第 10 步:最终验证

  1. 查看 Supervisor 管理的所有程序:
    supervisorctl status
    
  2. 如果一切正常,可以重启 Supervisor 服务:
    systemctl restart supervisord
    

此指南全面涵盖了 Supervisor 的安装、配置、权限问题排查、端口冲突解决和日志分析等内容,适用于各种场景。

保姆级避坑指南:用Keil和J-Flash搞定凌思微LE5010蓝牙芯片的首次程序下载 本文提供了一份详细的保姆级避坑指南,帮助开发者使用Keil和J-Flash工具完成凌思微LE5010蓝牙芯片的首次程序下载。文章重点解决了算法文件混淆、协议栈漏烧和仿真器连接异常等常见问题,并详细介绍了开发环境配置、协议栈烧录和下载接口的物理层奥秘,助力开发者高效完成蓝牙开发任务。 阅读详情

相关推荐

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5407

使用Supervisor监控进程

1 Supervisor简介 Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程)。 2 安装 Ubuntu系统下:apt-get install supervisor,通过这种方式安装后,自动设置为开机启动 也可以通过 pip install supervisor 进行安装,但是需要手动启动,然后设置为开机启动。如果需要离线安装,则先使用pip

我爱编程持之以恒 2001

SuperMap iDesktop 9D三维倾斜摄影数据处理

OSGB格式的三维倾斜摄影数据进入时空大数据平台之前需要进行数据优化和格式转换

weixin_43204897的博客 1131

Supervisor的简易用法

简介 Supervisor(http://supervisord.org/)C/S架构的进程控制系统,是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,基于linux操作系统的一款服务器管理工具,不支持Windows系统。 用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能。 Supervisor类似于monit, monit和su...

weixin_45762569的博客 726

Android应用开发从零到一:基于Kotlin与Jetpack Compose的完整实践指南

移动应用开发的核心在于构建一个架构清晰、可维护且可扩展的应用基础。理解应用架构的原理,如关注点分离和数据驱动UI,是实现高质量应用的关键技术价值。在现代Android开发中,Kotlin语言凭借其空安全特性和协程,能有效提升代码的健壮性与开发效率。Jetpack Compose作为声明式UI框架,代表了UI开发的未来方向,与Kotlin协程深度集成,简化了复杂交互界面的构建。这些技术共同服务于个人任务管理、企业工具等多种应用场景。本文以构建一个完整的个人任务管理应用为例,系统阐述从环境搭建、UI构建、数据持

weixin_32667955的博客 313

HITS算法详解及代码实现

占坑

蓁蓁尔的博客 7462

supervisorctl命令的使用讲解

一般在linux中运行某个进程的时候,通过start、stop、restart以及reload进行运行,将其配置的服务放置在/etc/init.d/的目录下 类似如下的文章:ubuntu:防火墙配置详细讲解(全)

码农研究僧的博客 3万+

Dirsearch的下载、安装和使用(全)

Dirsearch工具的下载、安装和使用,超详细超全面

weixin_68416970的博客 1万+

supervisor 状态state汇总

获取进程状态示例: root@kean:~# supervisorctl status XXX1 BACKOFF Exited too quickly (process log may have details) XXX2 RUNNING pid 3607, uptime 1:23:09 众所周知,通过supervisorctrl status能获取到组件的状态信息,那么 supervi

zhaojia_carol的博客 3948

STM32F407编译下载全流程:从CubeMX到HEX烧录

嵌入式固件开发中,编译与下载是连接代码与硬件的关键闭环。其本质是将高级语言描述的逻辑,经交叉编译(ARM GCC)、链接(ELF生成)、格式转换(HEX/BIN)后,通过调试接口(SWD/UART)写入MCU Flash存储器的过程。该流程涉及工具链协同、二进制格式特性(如Intel HEX的地址映射与无元数据设计)、启动模式(System Memory Bootloader)、Flash选项字节(RDP/WRP)等底层机制,直接决定固件可运行性与安全性。典型应用场景包括STM32F407开发板调试、量产固

weixin_28840811的博客 260

5分钟用AI搞定顶刊级引言!掌握三段式结构+避坑要点,让你的Introduction更有说服力(附提示词)

说明你是怎么来填补这个缺口的,一句话概括你的研究,再简述你采用了什么新方法、新模型或新视角,也就是创新点,最后说明你的方案是怎么克服第二段提到的缺口的,带来了哪些贡献,注意要确保方案与第二段提到的缺口一一对应。以上三段式引言模板,是非常经典的问题导向型结构,相比传统的结构,这种结构更能吸引是审稿人的注意,希望这篇分享的模板能给在你写论文引言时,提供一点帮助。上一段写好后,就在前人研究的基础上,亮出自己的方案,借助AI说明自己的研究,用了什么新方法/框架/理论/视角来填补这个缺口的。

智能AI让学术科研更容易 745

SDMatte镜像开箱即用指南:supervisor托管服务配置、日志排查与7860端口健康检查

本文介绍了如何在星图GPU平台上自动化部署SDMatte镜像,实现高质量图像抠图功能。该镜像专为电商素材处理设计,支持商品主图去背景、透明物体精确提取等场景,通过预装Web界面提供开箱即用的抠图服务。用户可快速完成专业级图像处理,显著提升电商内容制作效率。

EmeraldWolf23的博客 849

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 625

DeOldify上色服务运维指南:supervisor进程管理、日志排查与自动重启配置

本文介绍了如何在星图GPU平台上自动化部署DeOldify图像上色镜像,该镜像基于U-Net深度学习模型实现黑白照片的智能上色。通过平台可快速搭建服务,应用于老照片修复、历史影像还原等场景,提升图像处理效率与质量。

weixin_28949937的博客 365

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Qwen3.5-2B镜像免配置部署:Docker+Supervisor一键启停与日志排查指南

本文介绍了如何在星图GPU平台上自动化部署Qwen3.5-2B轻量化多模态基础模型镜像,实现开箱即用的Web聊天界面功能。通过Docker+Supervisor方案,用户可一键完成部署与进程管理,适用于智能客服、多模态内容理解等轻量化AI应用场景,显著降低部署门槛。

weixin_29069575的博客 171

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Youtu-VL-4B-Instruct WebUI部署教程:supervisor服务管理+日志排查+高可用配置指南

本文介绍了如何在星图GPU平台上自动化部署腾讯优图实验室开源的Youtu-VL-4B-Instruct-GGUF轻量级多模态指令模型,并配置WebUI服务。该模型能够理解图像与文本,可用于智能图片内容分析、视觉问答等场景,通过详细的supervisor服务管理、日志排查与高可用配置指南,帮助用户构建稳定可靠的多模态AI应用。

weixin_30299319的博客 955

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Qwen3.5-9B镜像免配置指南:Supervisor自动启停+日志排查+history.json管理

本文介绍了如何在星图GPU平台上自动化部署Qwen3.5-9B 90亿参数开源大语言模型镜像,实现多模态AI对话功能。该镜像支持图文输入和长上下文处理,可应用于智能客服、内容创作等场景,通过Supervisor实现一键启停和日志管理,大幅降低部署复杂度。

weixin_42511832的博客 426

百川2-13B-Chat WebUI v1.0 系统级部署指南:Supervisor服务管理、日志排查、开机自启配置

本文介绍了如何在星图GPU平台上自动化部署百川2-13B-对话模型-4bits量化版 WebUI v1.0镜像,并实现稳定的服务管理。该镜像通过4bit量化技术,大幅降低显存需求,使其能在消费级显卡上流畅运行,适用于构建智能对话助手、内容创作等AI应用场景。

RubyWolf84的博客 629

百川2-13B-Chat-4bits镜像免配置指南:supervisor服务管理+开机自启+日志排查一文搞定

本文介绍了如何在星图GPU平台上自动化部署百川2-13B-对话模型-4bits量化版 WebUI v1.0镜像,实现开箱即用的智能对话助手。该镜像内置Supervisor服务管理,支持开机自启与集中日志排查,用户可快速搭建环境,并将其应用于编程辅助、内容创作等日常对话场景,大幅降低大模型使用门槛。

weixin_33557333的博客 299

Hypnos-i1-8B部署教程:免配置镜像+Supervisor进程管理+日志排查全指南

本文介绍了如何在星图GPU平台上自动化部署Hypnos-i1-8B镜像,这是一款专注于强推理、思维链(CoT)和数学解题的8B级开源大模型。通过该平台,用户可快速搭建推理环境,应用于复杂数学问题求解、逻辑推理等场景,显著提升AI辅助决策效率。

weixin_28888459的博客 233

ubuntu16.04下安装supervisor并使用supervisor管理uwsgi运行的项目以及分析supervisor运行错误(BACKOFF Exited too quickly)

后台进程管理工具supervisor ​ 通过查看supervisor的官方文档,发现supervisor目前只能运行在python2的版本中,但我们开发中常用的是Python3版本,还好我们项目一般建在虚拟环境中,于是就可以在外部python2的环境下使用supervisor管理虚拟环境内部的项目. 说明: 我使用的python版本管理工具是pyenv,非常方便,之前的博客也有介绍,...

水恋鱼 3816

Qwen3.5-2B保姆级教程:Supervisor配置文件supervisor.conf详解

本文介绍了如何在星图GPU平台上自动化部署Qwen3.5-2B 20 亿参数轻量级多模态大语言模型镜像,并详细解析Supervisor配置文件supervisor.conf的配置方法。该镜像支持图文对话、文案创作等场景,特别适合需要隐私保护和低延迟响应的本地化应用部署。

weixin_42263617的博客 281

Youtu-VL-4B-Instruct快速部署:supervisor进程管理+日志监控完整配置

本文介绍了在星图GPU平台上自动化部署Youtu-VL-4B-Instruct-GGUF腾讯优图实验室开源的40亿参数轻量级多模态指令模型的完整方案。通过配置Supervisor实现进程管理与日志监控,该模型能够应用于图片理解与对话场景,例如用户上传图片后,AI可自动描述内容或回答相关问题。

weixin_36047538的博客 796

设计一个可长期稳定运行的 Agent Harness:Supervisor 与 CLI 配置骨架

用 Supervisor 配置骨架让 CLI 型 Agent Harness 长期稳定运行,从进程拉起、崩溃重启到日志轮转逐项拆解,并统一走 TaoToken 接入模型调用,避免 Key 散落导致 401。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供统一 API 通道与 Key 管理,适合把 demo 级 Agent 推向常驻生产。

Ceshi01的博客 5

s2-pro镜像运维指南:日志定位、服务健康检查与异常自动恢复配置

本文介绍了如何在星图GPU平台上自动化部署s2-pro镜像,实现专业级语音合成功能。该镜像支持音色克隆和高质量文本转语音,适用于有声书制作、虚拟主播配音等场景。通过简单的配置,用户可快速搭建语音合成服务并实现异常自动恢复,提升语音内容生产效率。

weixin_32102617的博客 435

为什么repo-supervisor扫不到密钥?常见问题排查与解决指南

repo-supervisor 是一款专门用于扫描代码仓库、查找密码与密钥泄露的安全扫描工具,它通过熵值检测(Entropy Meter)自动识别高熵字符串,帮助开发者在密钥泄露前及时发现风险。然而不少新手在首次使用时都会遇到一个尴尬的问题:明明代码里写着密钥,repo-supervisor 却"视而不见",一个都扫不出来。本文就带你一步步排查"repo-supervisor扫不到密钥"的常见原因

gitblog_00072的博客 282
上一篇: linux僵尸线程清理
下一篇: 阿里云短信发送(工厂模式+模板方法+策略模式实现)
seeyoutlb
博客等级 码龄9年 123粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值