CeSi 安装与配置

文章目录

  • CeSi 安装与配置
  • 一、介绍
  • 二、CeSi 安装
  • 三、CeSi 配置
  • 四、CeSi 启动
  • 五、管理界面

CeSi 安装与配置

一、介绍

​ CeSi(Centralized Supervisor Interface) 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI,该工具是用 Python 编写,基于 Flask Web 框架 。

​ Supervisor 进程,功能比较简单,通过 CeSi 可以集中管理各个服务器节点的进程,在 Web 界面就可以轻松管理各个服务的启动、关闭、重启等,很方便使用。

二、CeSi 安装

​ 网上有很多安装CeSi的教程,都是基于v1.0版本,偶尔的v1.5版本的,而在github上已经更新到v2.6.7版本,所以网上的很多安装办法对v2.6.7根本不适用。

​ 此处只介绍v2.6.7的安装步骤 。

​ 安装 CeSi 有三个依赖:Python,Flask,sqlite3

一般的 Linux 发行版都默认安装了 Python,所以 Python 不需要再次安装;

从 Python 2.5 开始 sqlite3 已经在标准库内置了,所以也不需要安装 sqlite3 模块了; 另外很多 Linux 发行版已经自带 sqlite3,所以无需另外安装;

只需要安装 flask web 框架即可;

具体安装步骤如下:

# 安装依赖
yum install -y git wget epel-release python34 python34-pip npm bzip2

# 设置环境变量并创建安装目录
export CESI_SETUP_PATH=/usr/local/cesi
mkdir ${CESI_SETUP_PATH}
cd ${CESI_SETUP_PATH}

# 下载cesi-2.6.7.tar.gz并解压
wget https://github.com/gamegos/cesi/releases/download/v2.6.7/cesi-extended.tar.gz -O cesi.tar.gz
tar -zxvf cesi.tar.gz

# 创建venv虚拟环境
python3.4 -m venv venv

# 激活venv虚拟环境
source venv/bin/activate
# 在venv虚拟环境中,使用pip3管道安装依赖
pip3 install -r requirements.txt
# 失效venv虚拟环境
deactivate

############### 此段为可选安装,经本人测试,不建议安装,要安装一大堆东西,然并卵 ############
# (可选安装)升级node到最新版
npm install -g n
n latest
# (可选安装)安装 yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install -y yarn
# (可选安装)构建ui,需要安装yarn, node, npm
cd ${CESI_SETUP_PATH}/cesi/ui
yarn install
yarn build
#######################################################################################

# 复制配置文件到/etc目录
cp ${CESI_SETUP_PATH}/defaults/cesi.conf.toml /etc/cesi.conf

# 复制服务配置文件到/etc/systemd/system目录,并注册为服务(CentOS7)
cp ${CESI_SETUP_PATH}/defaults/cesi.service /etc/systemd/system/cesi.service

三、CeSi 配置

​ 按上述脚本安装完成后,会生成配置文件在 /etc/cesi.conf,配置文件详细如下(此文件为真实用例):

# This is the main CeSI toml configuration file. It contains CeSI web application and

# supervisord information to connect

# 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://:@localhost:5432/"
#database = "mysql+pymysql://:@localhost:3306/"
activity_log = "activity.log"                           # File path for CeSI logs
admin_username = "admin"                                # Username of admin user
admin_password = "123456"                               # 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 = "ecs-soms"
environment = "soms"
username = "admin"
password = "123456"
host = "192.168.10.228"
port = "9001"

四、CeSi 启动

  • 网上找的注册为系统服务的脚本启动会失败,经过本人多次尝试,已放弃。
  • 可直接使用如下命令启动,但关闭shell窗口时会结束进程:
/usr/local/cesi/venv/bin/python3 /usr/local/cesi/cesi/run.py --config-file /etc/cesi.conf
  • 现直接使用 supervisor 来管理启动 CeSi,具体教程见 Supervisor安装与配置,大致如下:

    在 /etc/supervisor.d/ 目录下创建 cesi.conf 文件,并输入如下内容:

[program:cesi]
command=/usr/local/cesi/venv/bin/python3 /usr/local/cesi/cesi/run.py --config-file /etc/cesi.conf
autostart=true
startsecs=10
starttries=3
user=root
priority=996
redirect_stderr=false
stdout_logfile=/usr/local/cesi/cesi.log
stderr_logfile=/usr/local/cesi/cesi-err.log
stopasgroup=false
killasgroup=true

五、管理界面

​ CeSi 安装完全后默认开放端口 5000,在浏览器中输入 http://127.0.0.1:5000 打开管理界面如下:

CeSi 安装与配置_第1张图片
CeSi 安装与配置_第2张图片

你可能感兴趣的:(CeSi,Supervisor)