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;
}
}
️ 四、常见问题解决
- SELinux 阻止访问
bash
sudo setenforce 0 # 临时关闭
sudo sed -i
's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config # 永久关闭
- 端口冲突
修改启动命令的端口映射(如 -p 8080:80),确保宿主机端口未被占用28。 - 初始化失败
- 检查数据库连接配置(手动安装时)
- 确保 /data 目录有写入权限(Docker
安装时) - 查看容器日志:docker logs spug10
- 文件上传限制
在 Nginx 配置中添加:
nginx
client_max_body_size 20m; # 调整上传大小限制:cite[3]
五、安全加固建议
- 修改默认密码
首次登录后立即修改 admin 密码,避免使用初始密码 spug.dev6。 - 启用 HTTPS
使用 Let's Encrypt 或自签名证书加密控制台访问。 - 定期备份
关键备份目录: - Docker 安装:/data/spugdata
- 手动安装:数据库 /var/lib/mysql + 代码 /data/spug9
最佳实践:生产环境建议使用 Docker 或 docker-compose 部署,具备版本隔离与快速回滚能力。更新时直接替换镜像即可完成升级58。
部署完成后,可通过 主机管理 > 添加主机 接入待管理的服务器,利用 批量执行 或 应用发布 功能实现自动化运维任务。
centos8安装部署spug自动化运维管理平台的更多相关文章
- opsmanage 自动化运维管理平台
关闭防火墙.selinux 更换阿里云 yum源 依赖环境 yum install -y epel-releaseyum install vim net-tools nmon htop rsync t ...
- Linux运维之Ansible自动化运维管理工具
Ansible简介:Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用.安装软件.执行命令.配置和编排任务.后面会提到批量安装 ...
- Ansible 自动化运维管理工具
Ansible 自动化运维管理工具 1.Ansible概述 2.Ansible部署 3.Ansible模块 1.Ansible概述: Ansible是一个基于Python开发的配置管理和应用部署工具, ...
- django 实现linux运维管理平台
概述 使用django实现一个linux运维管理平台,可以实现注册登录,机器管理 ,服务器批量操作,服务器性能监控. 详细 代码下载:http://www.demodashi.com/demo/112 ...
- Ansible-Tower自动化运维管理环境 - 安装破解记录
公司中实现运维自动化的架构中主要用到ansible,ansible脚本在部署服务器指令行中显得不太直观.Ansible-Tower(之前叫做awx)是将ansible的指令界面化,简明直观,简单易用. ...
- 安装配置OSA运维管理平台
1.下载完整包V1.0.2wget http://www.osapub.com/download/OSA_BETA_V1.0.2.tar.gzV1.0.5wget http://www.osapub. ...
- ansible自动化运维管理工具
1.Ansible介绍 1)Ansible:Ansible的核心程序 2)Host Inventory:(默认路径:/etc/ansible/hosts)记录了每一个由Ansible管理的主机信息,信 ...
- MySQL 运维管理平台
github: https://github.com/XiaohaoYu/mysql_platform
- 华为云和开源Istio运维管理对比样例应用部署
前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...
- 国产安全自主可控IT智能运维管理解决方案
新一轮科技革命和产业变革席卷全球,大数据.云计算.物联网.人工智能.区块链等新技术不断涌现,数字经济正深刻地改变着人类的生产和生活方式,作为经济增长新动能的作用日益凸显.伴随增长的,还有网络中不断涌现 ...
随机推荐
- Data aggregation and group operations in pandas
Data aggregation and group operations in pandas After loading,merging and preparing a dataset,you ma ...
- codeup之数组元素原地逆置
Description 将一个长度为10的整型数组中的值按逆序重新存放. 如:原来的顺序为1,2,3,4,5,6,7,8,9,0,要求改为0,9,8,7,6,5,4,3,2,1 Input 从键盘上输 ...
- HarmonyNEXT手动申请权限以及使用系统控件获取地址坐标的案例(区别)
一.手动申请位置权限 1.1.申请位置权限 申请ohos.permission.LOCATION.ohos.permission.APPROXIMATELY_LOCATION权限. "req ...
- 在linux上安装UG for Linux 64
改编自 https://bbs.deepin.org/post/182574 下载: https://www.jb51.net/softs/584557.html 安装依赖 libxm4:i386.l ...
- java中Date类型和时间戳、Date和String互转代码
/** * 10位时间戳转Date类型 * @param timeStamp * @return */ public static Date stamp2Date(String timeStamp){ ...
- 题解:CF1977D XORificator
题目链接:link. 题目大概其实就是想让我们通过翻转某些行,使得尽可能多的列成为特殊列. 众所周知,暴力肯定是不行的,所以我们需要考虑优化! 对于每一列 \(j\),枚举每一行 \(i\),通过翻转 ...
- 对于PHP数组反转的算法的深度理解
本文由 ChatMoney团队出品 在 PHP 开发中,数组反转是一个常见的操作,它涉及到将数组的键值对或者键的顺序进行倒序排列.本文将深入探讨 PHP 数组反转的算法,并提供相应的代码示例. 一.P ...
- Golang基础笔记三之数组和切片
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记三之数组和切片 这一篇笔记介绍 Golang 里的数组和切片,以下是本篇笔记目录: 数组定义和初始化 数组属性和相关操作 切片的创建 ...
- Nginx 配置(Config)中遇到的错误(Error)
原文:https://ichochy.com/posts/software/20231125.html nginx location 正则错误写法 location 错误的写法 匹配请求目录地址 /5 ...
- Java8中Map函数应用
computeIfAbsent函数 computeIfAbsent方法的逻辑是,如果map中没有(Absent)相应的key,则执行lambda表达式生成一个默认值并放入map中并返回,否则返回map ...