SPUG:方便的集群自动化运维平台
因为一些特殊的需求,我有20多台服务器/VPS,桌面和手机端用Termius管理很方便,但如果频繁地需要部署一些特殊的应用,一个个操作起来有些麻烦。很早就知道SPUG,也部署过,但当时实际需求并没有太强烈,就并没有长期使用。直到最近,复杂的网络环境让我不得不频繁地运维,SPUG的优势就体现出来了。
一、关于SPUG
Spug
面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
官网:
http://spug.cc/
特性:
批量执行: 主机命令在线批量执行
在线终端: 主机支持浏览器在线终端登录
文件管理: 主机文件在线上传下载
任务计划: 灵活的在线任务计划
发布部署: 支持自定义发布部署流程
配置中心: 支持 KV、文本、json 等格式的配置
监控中心: 支持站点、端口、进程、自定义等监控
报警中心: 支持短信、邮件、钉钉、微信等报警方式
优雅美观: 基于 Ant Design 的 UI 界面
开源免费: 前后端代码完全开源
预览:
二、首次部署
作为一个习惯Docker的用户,用Docker部署起来特别轻松:
1、拉取镜像
docker pull openspug/spug
2、安装
docker run -d --restart=always --name=spug -p 8002:80 -v ~/spug/:/data openspug/spug
你也可以自定义【持久化目录】和【端口】,如
docker run -d --restart=always --name=spug -p 【端口】:80 -v 【持久化目录】:/data openspug/spug
3、初始化超级管理员
docker exec spug init_spug 【账号】 【密码】
至此,就已经安装好了。
三、备份与恢复
如果已经成功部署好SPUG,则可以通过备份,在新的机器上恢复数据。
1、备份
你可以创建一个备份shell文件,如:
nano ~/spugbackup.sh
#!/bin/bash
cd /root
tar -zcvf spug.tgz /root/spug
cp -rf /root/spug.tgz 【备份目录】/data/spug/spug_"$(date +"%Y-%m-%d_%H-%M")".tgz
rm -rf spug.tgz
chmod +x spugbackup.sh
也可以创建定时备份,如:
nano /etc/crontab
50 6 * * * root bash /root/spugbackup.sh
2、恢复
先完成SPUG的安装:
docker pull openspug/spug
docker run -d --restart=always --name=spug -p 8002:80 -v ~/spug/:/data openspug/spug
而后下载备份文件到root目录,再进行恢复:
tar -zxvf spug.tgz
rm -rf /root/spug
mv /root/root/spug /root/spug
rm -rf /root/root
最后重启SPUG的Docker
docker restart spug
之前备份的全部数据就恢复了!
四、使用Caddy反代
如果你不想用域名+端口号的方式访问,可以使用Caddy反代
1、安装Caddy
#添加caddy官方的软件源,更新软件包并安装caddy v2
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy
2、配置Caddyfile
nano /etc/caddy/Caddyfile
xx.xx.xx {
reverse_proxy localhost:8002
}
xx.xx.xx {
reverse_proxy localhost:【安装时的自定义端口】
}
3、重启Caddy
systemctl restart caddy.service
五、使用宝塔面板反代
添加完反代的域名+端口后,需要修改反代的配置文件
内容为如下内容,否则WEB终端会无法正常使用。
#PROXY-START/
location / {
proxy_pass http://【域名:端口】;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /api/ws/ {
proxy_pass http://【域名:端口】;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#PROXY-END/
记得修改【域名:端口】
最后附上SPUG的官方文档,有兴趣可以深入研究。
打完收工!!
阅读剩余
版权声明:
作者:codion
链接:https://mrchou.com/internet/how-to-install-spug.html
文章版权归作者所有,未经允许请勿转载。
THE END