Centos7安装Cesi(Supervisor集中管理工具)

Background

  • CeSi 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI,该工具是用 Python 编写,基于 Flask Web 框架 。
  • Superviosr 自带的 Web UI 不支持跨机器管理Supervisor 进程,功能比较简单,通过 CeSi 可以集中管理各个服务器节点的进程,在 Web 界面就可以轻松管理各个服务的启动、关闭、重启等,方便使用。
  • 当前部署环境:CentOS7.9、Python3.7.8

1、部署环境

item version
Centos 7.9
Python 3.7.8
Flask 2.2.5
Flask-SQLAlchemy 2.5.1
psycopg2-binary 2.8.5
PyMySQL 0.9.3
SQLAlchemy 1.4.48
CeSi 2.7.1

Supervisor官方文档地址:http://supervisord.org/plugins.html#dashboards-and-tools-for-multiple-supervisor-instances

Cesi git地址:https://github.com/gamegos/cesi

  • 最终效果

2、安装依赖

shell 复制代码
yum install -y git wget epel-release npm bzip2
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
yum install -y yarn

3、部署CeSi

shell 复制代码
cd /opt/
wget https://github.com/gamegos/cesi/releases/download/v2.7.1/cesi-extended.tar.gz
cd cesi/
pip3 install -r requirements.txt
cd /opt/cesi/ui/
yarn install
yarn build

4、配置CeSi

  • 创建日志目录
shell 复制代码
mkdir -p /opt/cesi/logs/
  • /etc/cesi.conf.toml
toml 复制代码
# This is the CeSI's own configuration.
[cesi]
# Database Uri
database = "sqlite:///users.db"                         # Relative path
# Etc
#database = "sqlite:opt/cesi/< version >/users.db"  # Absolute path
#database = "postgres://<user>:<password>@localhost:5432/<database_name>"
#database = "mysql+pymysql://<user>:<password>@localhost:3306/<database_name>"
activity_log = "/opt/cesi/logs/activity.log"   # File path for CeSI logs
admin_username = "admin"        # Username of admin user
admin_password = "admin"        # Password of admin user

# This is the definition section for new supervisord node.
# [[nodes]]
# name = "api"          # (String) Unique name for supervisord node.
# environment = ""      # (String) The environment name provides logical grouping of supervisord nodes. It can be used as filtering option in the UI.
# username = ""         # (String) Username of the XML-RPC interface of supervisord Set nothing if no username is configured
# password = ""         # (String) Password of the XML-RPC interface of supervisord. Set nothing if no username is configured
# host = "127.0.0.1"    # (String) Host of the XML-RPC interface of supervisord
# port = "9001"         # (String) Port of the XML-RPC interface of supervisord

# Default supervisord nodes
[[nodes]]
name = "elephant"
environment = "dev"
username = "admin"
password = "admin"
host = "elephant"
port = "9001"

[[nodes]]
name = "test"
environment = "test"
username = "admin"
password = "admin"
host = "test"
port = "9001"

[[nodes]]
name = "app"
environment = "prod"
username = "admin"
password = "admin"
host = "app"
port = "9001"

[[nodes]]
name = "app01"
environment = "prod"
username = "admin"
password = "admin"
host = "app01"
port = "9001"
  • /etc/systemd/system/cesi.service
service 复制代码
[Unit]
Description=cesi

[Service]
Environment=
ExecStart=/usr/bin/python3 /opt/cesi/cesi/run.py --config-file /etc/cesi.conf.toml
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=TERM
User=root
WorkingDirectory=/opt/cesi

Restart=on-failure

[Install]
WantedBy=multi-user.target
  • 配置系统管理
shell 复制代码
systemctl daemon-reload
systemctl enable cesi

5、启动CeSi

shell 复制代码
systemctl start cesi
# 启动正常查看信息无报错,有报错根据报错信息排查解决
systemctl status cesi

6、访问CeSi

  • 浏览器访问 http://IP:5000
  • 默认用户名/密码:admin/admin
  • 注意:默认用户名密码不要改,改了进不去,我在这里踩坑了
相关推荐
知识分享小能手2 分钟前
机器学习教程,从入门到精通,机器学习概述 + Python 语言基础 · 知识点详解(1)
人工智能·python·机器学习
郝学胜-神的一滴19 分钟前
AI 编程智能体 16:从零基础搭建到精细化优化
人工智能·python·算法·语言模型·langchain·pip
又蓝32 分钟前
【元宝搜索开发者征文大赛】用 FastAPI + Vue3 做了个 AI 炒股工具,接了六个分析师和腾讯元宝搜索
人工智能·python·ai·fastapi
2601_9669496533 分钟前
为什么不应该把 QuantDash API Key 直接写进公开代码仓库?从 Git 提交历史理解凭证泄露风险
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
在世修行34 分钟前
智学文枢:文科分析引擎
python·ai·pyside·文科分析
包小黑1 小时前
Python 转 EXE (实用工具)
开发语言·python
全栈练习生1 小时前
DeepSeek 稀疏注意力
python·ai
我命由我123451 小时前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee
FYKJ_20101 小时前
springboot高考志愿填报推荐系统14332-计算机课程设计、毕业设计
javascript·spring boot·python·架构·django·课程设计·高考
卷无止境1 小时前
长篇写作 Skill 横向盘点:从单文件指令到多智能体流水线
后端·python