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; # 调整上传大小限制:cite[3]


🔐 五、安全加固建议

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

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

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

相关推荐
Dovis(誓平步青云)1 分钟前
《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
linux·运维·服务器
好名字更能让你们记住我6 分钟前
MYSQL数据库初阶 之 MYSQL用户管理
linux·数据库·sql·mysql·adb·数据库开发·数据库架构
TG_yilongcloud30 分钟前
阿里云国际代理:怎么保障数据库在凭据变更过程中的安全与稳定?
数据库·安全·阿里云·云计算
半桔1 小时前
【网络编程】TCP 服务器并发编程:多进程、线程池与守护进程实践
linux·服务器·网络·c++·tcp/ip
维尔切1 小时前
Shell 脚本编程:函数
linux·运维·自动化
穷人小水滴1 小时前
胖喵必快 (pmbs): btrfs 自动快照工具 (每分钟快照)
linux·rust
云泽8082 小时前
从ENIAC到Linux:计算机技术与商业模式的协同演进
linux·运维·服务器
wheeldown2 小时前
【Linux】【实战向】Linux 进程替换避坑指南:从理解 bash 阻塞等待,到亲手实现能执行 ls/cd 的 Shell
linux·运维·bash
zyt05022 小时前
四、计算机网络与分布式系统(中)
linux·计算机网络·程序人生
NiKo_W2 小时前
Linux 深入理解权限
linux·运维·服务器