centos8安装部署spug自动化运维管理平台

以下是 CentOS 8 系统部署 Spug 自动化运维平台的完整流程,提供三种主流安装方式(推荐使用 Docker 方式):


🐳 一、Docker 安装(推荐)

1. 安装 Docker

bash

# 卸载旧版本

sudo yum remove docker docker-common docker-selinux docker-engine

# 安装依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 替换国内镜像源(加速下载)

sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

# 安装并启动

sudo yum install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker && sudo systemctl enable docker

2. 拉取 Spug 镜像

bash

docker pull registry.aliyuncs.com/openspug/spug

3. 启动容器(持久化存储)

bash

# 创建数据目录

sudo mkdir -p /data/spugdata

# 启动容器(映射 80 端口)

docker run -d --restart=always --name=spug \

-p 80:80 \

-v /data/spugdata:/data \

registry.aliyuncs.com/openspug/spug

📌 关键参数说明
-v /data/spugdata:/data :将容器内数据持久化到宿主机
--restart=always:容器崩溃时自动重启124

4. 初始化管理员账户

bash

docker exec spug init_spug admin your_strong_password # 替换 your_strong_password

docker restart spug

5. 访问控制台

text

地址: http://服务器IP:80

用户名: admin

密码: 上一步设置的密码


🐙 二、docker-compose 安装(多容器管理)

1. 安装 docker-compose

bash

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

2. 创建 docker-compose.yml

yaml

version: "3.3"

services:

spug:

image: registry.aliyuncs.com/openspug/spug

container_name: spug

ports:

  • "80:80"

volumes:

  • /data/spugdata:/data

restart: always

3. 启动服务

bash

docker-compose up -d

docker exec spug init_spug admin your_password

docker restart spug


⚙️ 三、手动安装(适合定制化需求)

1. 依赖安装

bash

sudo yum install -y python39 git mariadb-server libmysqlclient-dev

sudo systemctl start mariadb && sudo systemctl enable mariadb

2. 克隆代码与编译前端

bash

git clone https://github.com/openspug/spug /data/spug

cd /data/spug/spug_web

# 下载编译好的前端包(示例版本)

wget https://gitee.com/openspug/spug-web/releases/download/v3.0.0/spug_web_3.0.0.tar.gz

tar zxvf spug_web_3.0.0.tar.gz -C /data/spug/spug_web/

3. 配置数据库

sql

MariaDB> CREATE DATABASE spug CHARACTER SET utf8mb4;

MariaDB> CREATE USER 'spug'@'localhost' IDENTIFIED BY 'spug.dev';

MariaDB> GRANT ALL PRIVILEGES ON spug.* TO 'spug'@'localhost';

4. 修改后端配置

编辑 /data/spug/spug_api/spug/overrides.py:

python

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'spug',

'USER': 'spug',

'PASSWORD': 'spug.dev',

'HOST': 'localhost',

'OPTIONS': {'charset': 'utf8mb4'}

}

}

5. 初始化服务

bash

cd /data/spug/spug_api

python3 -m venv venv

source venv/bin/activate

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

python manage.py initdb

python manage.py user add -u admin -p your_password -s -n 管理员

6. 配置 Nginx

创建 /etc/nginx/conf.d/spug.conf:

nginx

server {

listen 80;

server_name your_domain;

root /data/spug/spug_web/build;

location /api/ {

proxy_pass http://localhost:8000;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

location / {

try_files $uri /index.html;

}

}


⚠️ 四、常见问题解决

  1. SELinux 阻止访问

bash

sudo setenforce 0 # 临时关闭

sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config # 永久关闭

  1. 端口冲突
    修改启动命令的端口映射(如 -p 8080:80),确保宿主机端口未被占用28。
  2. 初始化失败
    • 检查数据库连接配置(手动安装时)
    • 确保 /data 目录有写入权限(Docker 安装时)
    • 查看容器日志:docker logs spug10
  3. 文件上传限制
    在 Nginx 配置中添加:

nginx

client_max_body_size 20m; # 调整上传大小限制:cite3


🔐 五、安全加固建议

  1. 修改默认密码
    首次登录后立即修改 admin 密码,避免使用初始密码 spug.dev6。
  2. 启用 HTTPS
    使用 Let's Encrypt 或自签名证书加密控制台访问。
  3. 定期备份
    关键备份目录:
    • Docker 安装:/data/spugdata
    • 手动安装:数据库 /var/lib/mysql + 代码 /data/spug9

💡 最佳实践:生产环境建议使用 Docker 或 docker-compose 部署,具备版本隔离与快速回滚能力。更新时直接替换镜像即可完成升级58。

部署完成后,可通过 主机管理 > 添加主机 接入待管理的服务器,利用 批量执行 或 应用发布 功能实现自动化运维任务。

相关推荐
QYR-分析16 小时前
刚需赛道:全球一次性有创压力传感器市场深度解析
云计算
雯宝19 小时前
mnt_init 函数
linux
律宏阔1 天前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔1 天前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴1 天前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千1 天前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei371 天前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei371 天前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei371 天前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
AKAMAI1 天前
随着瓦尔·基尔默的AI分身诞生,生成式AI是否正在将好莱坞推向边缘?
人工智能·云原生·云计算