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。

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

相关推荐
头发那是一根不剩了1 小时前
服务器硬盘进行分区和挂载
linux·运维·服务器
Johny_Zhao2 小时前
Linux防止rm误操作防护方案
linux·网络·人工智能·网络安全·信息安全·云计算·yum源·系统运维
stark张宇2 小时前
Linux 零基础入门,看这一篇就够了
linux·服务器
三劫散仙3 小时前
mac m1上使用Kerberos访问远程linux hadoop集群的正确姿势
linux·hadoop·macos
十八旬3 小时前
阿里云服务-开启对象存储服务及获取AccessKey教程
阿里云·云计算
Sadsvit5 小时前
网络聚合链路与软件网桥配置指南
linux·运维·服务器·网络·centos
___波子 Pro Max.5 小时前
Linux数字列排序命令
linux
--运维实习生--7 小时前
shell脚本第二阶段-----选择结构
linux·运维·shell编程
Clownseven7 小时前
Linux服务器健康检查Shell脚本:一键生成自动化巡检报告
linux·服务器·自动化
时间裂缝里的猫-O-8 小时前
@Linux问题 :bash fork Cannot allocate memory 错误分析与解决方案
linux·chrome·bash