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。

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

相关推荐
ybb70463019 小时前
linux第二次作业
linux·运维·服务器
大白同学42120 小时前
【Linux】进程间通信
linux·运维·服务器
AKAMAI1 天前
Fermyon推出全球最快边缘计算平台:WebAssembly先驱携手Akamai云驱动无服务器技术新浪潮
人工智能·云计算·边缘计算
Felven1 天前
统信系统下设置RTC时间
linux·rtc·1024程序员节
盛世隐者1 天前
【Linux】定制Linux系统
linux·运维·服务器
-Excalibur-1 天前
形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
linux·c语言·网络·笔记·单片机·网络协议·tcp/ip
小跌—1 天前
Linux:数据链路层
linux·网络
用户31187945592181 天前
Fedora 37 安装 libicu-71.1-2.fc37.x86_64.rpm 教程(命令行步骤)
linux
搬砖的小码农_Sky1 天前
Linux(Ubuntu)操作系统下文件的解压
linux·ubuntu
景彡先生1 天前
Python函数定义与调用全解析:从基础语法到实战技巧
linux·开发语言·python