以下是 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。

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

centos8安装部署spug自动化运维管理平台的更多相关文章

  1. opsmanage 自动化运维管理平台

    关闭防火墙.selinux 更换阿里云 yum源 依赖环境 yum install -y epel-releaseyum install vim net-tools nmon htop rsync t ...

  2. Linux运维之Ansible自动化运维管理工具

    Ansible简介:Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用.安装软件.执行命令.配置和编排任务.后面会提到批量安装 ...

  3. Ansible 自动化运维管理工具

    Ansible 自动化运维管理工具 1.Ansible概述 2.Ansible部署 3.Ansible模块 1.Ansible概述: Ansible是一个基于Python开发的配置管理和应用部署工具, ...

  4. django 实现linux运维管理平台

    概述 使用django实现一个linux运维管理平台,可以实现注册登录,机器管理 ,服务器批量操作,服务器性能监控. 详细 代码下载:http://www.demodashi.com/demo/112 ...

  5. Ansible-Tower自动化运维管理环境 - 安装破解记录

    公司中实现运维自动化的架构中主要用到ansible,ansible脚本在部署服务器指令行中显得不太直观.Ansible-Tower(之前叫做awx)是将ansible的指令界面化,简明直观,简单易用. ...

  6. 安装配置OSA运维管理平台

    1.下载完整包V1.0.2wget http://www.osapub.com/download/OSA_BETA_V1.0.2.tar.gzV1.0.5wget http://www.osapub. ...

  7. ansible自动化运维管理工具

    1.Ansible介绍 1)Ansible:Ansible的核心程序 2)Host Inventory:(默认路径:/etc/ansible/hosts)记录了每一个由Ansible管理的主机信息,信 ...

  8. MySQL 运维管理平台

    github: https://github.com/XiaohaoYu/mysql_platform

  9. 华为云和开源Istio运维管理对比样例应用部署

    前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...

  10. 国产安全自主可控IT智能运维管理解决方案

    新一轮科技革命和产业变革席卷全球,大数据.云计算.物联网.人工智能.区块链等新技术不断涌现,数字经济正深刻地改变着人类的生产和生活方式,作为经济增长新动能的作用日益凸显.伴随增长的,还有网络中不断涌现 ...

随机推荐

  1. Data aggregation and group operations in pandas

    Data aggregation and group operations in pandas After loading,merging and preparing a dataset,you ma ...

  2. codeup之数组元素原地逆置

    Description 将一个长度为10的整型数组中的值按逆序重新存放. 如:原来的顺序为1,2,3,4,5,6,7,8,9,0,要求改为0,9,8,7,6,5,4,3,2,1 Input 从键盘上输 ...

  3. HarmonyNEXT手动申请权限以及使用系统控件获取地址坐标的案例(区别)

    一.手动申请位置权限 1.1.申请位置权限 申请ohos.permission.LOCATION.ohos.permission.APPROXIMATELY_LOCATION权限. "req ...

  4. 在linux上安装UG for Linux 64

    改编自 https://bbs.deepin.org/post/182574 下载: https://www.jb51.net/softs/584557.html 安装依赖 libxm4:i386.l ...

  5. java中Date类型和时间戳、Date和String互转代码

    /** * 10位时间戳转Date类型 * @param timeStamp * @return */ public static Date stamp2Date(String timeStamp){ ...

  6. 题解:CF1977D XORificator

    题目链接:link. 题目大概其实就是想让我们通过翻转某些行,使得尽可能多的列成为特殊列. 众所周知,暴力肯定是不行的,所以我们需要考虑优化! 对于每一列 \(j\),枚举每一行 \(i\),通过翻转 ...

  7. 对于PHP数组反转的算法的深度理解

    本文由 ChatMoney团队出品 在 PHP 开发中,数组反转是一个常见的操作,它涉及到将数组的键值对或者键的顺序进行倒序排列.本文将深入探讨 PHP 数组反转的算法,并提供相应的代码示例. 一.P ...

  8. Golang基础笔记三之数组和切片

    本文首发于公众号:Hunter后端 原文链接:Golang基础笔记三之数组和切片 这一篇笔记介绍 Golang 里的数组和切片,以下是本篇笔记目录: 数组定义和初始化 数组属性和相关操作 切片的创建 ...

  9. Nginx 配置(Config)中遇到的错误(Error)

    原文:https://ichochy.com/posts/software/20231125.html nginx location 正则错误写法 location 错误的写法 匹配请求目录地址 /5 ...

  10. Java8中Map函数应用

    computeIfAbsent函数 computeIfAbsent方法的逻辑是,如果map中没有(Absent)相应的key,则执行lambda表达式生成一个默认值并放入map中并返回,否则返回map ...