Linux部署自动化运维平台Spug

文章目录

    • 前言
    • 1. Docker安装Spug
    • 2 . 本地访问测试
    • 3. Linux 安装cpolar
    • 4. 配置Spug公网访问地址
    • 5. 公网远程访问Spug管理界面
    • 6. 固定Spug公网地址

前言

Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

本例演示搭建使用docker compose 方式安装Spug,并结合cpolar 内网穿透实现远程访问,按照官网文档,首先设备需要提前安装好docker 和 docker compose!

1. Docker安装Spug

创建docker-compose.yml 文件

vim docker-compose.yml 

i进入编辑模式,复制写入以下内容

version: "3.3"
services:db:image: mariadb:10.8.2container_name: spug-dbrestart: alwayscommand: --port 3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_civolumes:- /data/spug/mysql:/var/lib/mysqlenvironment:- MYSQL_DATABASE=spug- MYSQL_USER=spug- MYSQL_PASSWORD=spug.cc- MYSQL_ROOT_PASSWORD=spug.ccspug:image: openspug/spug-servicecontainer_name: spugprivileged: truerestart: alwaysvolumes:- /data/spug/service:/data/spug- /data/spug/repos:/data/reposports:# 如果80端口被占用可替换为其他端口,例如: - "8000:80"- "80:80"environment:- MYSQL_DATABASE=spug- MYSQL_USER=spug- MYSQL_PASSWORD=spug.cc- MYSQL_HOST=db- MYSQL_PORT=3306depends_on:- db

然后启动容器进行安装

docker compose up -d

显示最后出现下面信息表示成功.会自动启动.后续操作,按照docker 对容器的操作来管理即可

image-20230913164933975

初始化登录管理员用户,以下操作会创建一个用户名为 admin 密码为 test123 的管理员账户,可自行替换管理员账户/密码。

docker exec spug init_spug admin test123

2 . 本地访问测试

上面我们安装好了,现在在Linux 浏览器访问80端口,或者外部浏览器局域网访问80端口,如无法访问,请关闭防火墙,浏览器输入本地地址,即可看到Spug登录界面,下面我们安装cpolar 实现远程访问

3. Linux 安装cpolar

上面我们成功安装了openGauss数据库,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4. 配置Spug公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Spug的cpolar隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (上面docker-compose.yml 配置文件设置的挂载端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

5. 公网远程访问Spug管理界面

使用上面的https公网地址在任意设备的浏览器访问,即可成功看到我们Spug界面,这样一个公网地址且可以远程访问就创建好了.

输入上面初始化的用户名密码即可登陆成功

6. 固定Spug公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网地址访问Spug,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,新地址访问,可能需要重新登陆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

halcon-轴断面检测定位

前言 通常情况下轴检测时,通常会检测轴的各个阶段的长度。但是由于各种原因,在轴断面的区域现实不明显,无法正确提取,这时候需要根据轴断面的突出部分进行检测,但是由于部分轴的粗轴和细轴区域的宽度差距相当接近&…

windows SDK编程 --- 第一个程序

一、基础知识 1.Unicode 和 ANSI 在 Windows 编程中,Unicode 和 ANSI 是两种不同的字符编码方法,它们用于定义如何在计算机中表示和存储字符数据。 ANSI ANSI(American National Standards Institute)编码是一种基于单字节的字符…

使用阿里云试用Elasticsearch学习:4. 聚合——2

近似聚合 如果所有的数据都在一台机器上,那么生活会容易许多。 CS201 课上教的经典算法就足够应付这些问题。如果所有的数据都在一台机器上,那么也就不需要像 Elasticsearch 这样的分布式软件了。不过一旦我们开始分布式存储数据,就需要小心…

Vue的学习之旅-part6-循环的集中写法与ES6增强语法

Vue的学习之旅-循环的集中写法与ES6增强语法 vue中的几种循环写法for循环for in 循环 for(let i in data){}for of 循环 for(let item of data){}reduce() 遍历 reduce( function( preValue, item){} , 0 ) ES6增强写法 类似语法糖简写对象简写函数简写 动态组件中使用 <kee…

AI应用实战2:使用scikit-learn进行回归任务实战

代码仓库在gitlab&#xff0c;本博客对应于02文件夹。 1.问题分析 在此篇博客中我们来对回归任务进行实战演练&#xff0c;背景是直播带货平台的业绩预测。第一步&#xff0c;就是分析问题。 问题痛点&#xff1a; 在直播带货平台上&#xff0c;由于市场环境多变、用户行为复…

5 个让日常编码更简单的 Python 库

今天我们一起来研究一些非常有用的第三方模块&#xff0c;可以使得我们的日常编码变得更加简单方便 sh https://github.com/amoffat/sh 如果曾经在 Python 中使用过 subprocess 库&#xff0c;那么我们很有可能对它感到失望&#xff0c;它不是最直观的库&#xff0c;可能还有些…

ubuntu 更改 ssh 默认端口 22 以加固安全

出于加固安全考虑&#xff0c;一般公司会禁用 ssh 的 22 端口号&#xff0c;因此我们需要改为其他端口。 1、ssh 命令行登录 进入台式机&#xff0c;修改 /etc/ssh/sshd_config 文件中的 Port 配置行&#xff0c;将 22 改为 8022&#xff0c;保存修改后&#xff0c;重启 ssh 服…

【汇编】存储器

存储器 计算机存储器可分为内部存储器&#xff08;又称内存或主存&#xff09;和外部存储器&#xff0c;其中内存是CPU能直接寻址的储存空间&#xff0c;由半导体器件制成 存储单元的地址和内容 计算机存储信息的基本单位是一个二进制位&#xff0c;一位可存储一个二进制数&…

企业利器大曝光:CRM系统功能剖析

企业存在的根本目标是吸引并留住顾客。为了能够追踪顾客的信息以及与他们保持联系&#xff0c;不论企业规模大小&#xff0c;都长期使用了多种传统的手工方式。——彼得德鲁克 CRM系统的功能有哪些&#xff1f;如何做客户管理一直是企业管理中的热门话题&#xff0c;CRM&#…

[大模型]Qwen1.5-7B-Chat-GPTQ-Int4 部署环境

Qwen1.5-7B-Chat-GPTQ-Int4 部署环境 说明 Qwen1.5-72b 版本有BF16、INT8、INT4三个版本&#xff0c;三个版本性能接近。由于BF16版本需要144GB的显存&#xff0c;让普通用户忘却止步&#xff0c;而INT4版本只需要48GB即可推理&#xff0c;给普通用户本地化部署创造了机会。&…

C语言——数据在内存中的存储

引言 数据是程序运行的核心。当我们用C语言编写程序时&#xff0c;我们实际上是在操纵内存中的数据。这些数据在内存中是如何储存的&#xff0c;今天我们就来学习这些内容。 基本数据类型 1.整型 int: 基本整型&#xff0c;通常占用4个字节 short: 短整型&#xff0c;通常占用…

Gradle 在 Spring 中的使用-ApiHug准备-工具篇-006

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

【arduino】控制N位数码管

以下以四位共阳极数码管为例&#xff1b; 本文所有说明均以注释的方式进行。 使用方法&#xff1a; #include "DigitalTube.h" //每位共阳极对应的引脚int digital[4] {8, 11, 12, 7};//参数分别为a f b g e c d dp digital(共阳极引脚数组) length(digital长度)D…

LRUCache原理及源码实现

目录 LRUCache简介&#xff1a; LRUCache的实现&#xff1a; LinkedHashMap方法实现&#xff1a; 自己实现链表&#xff1a; 前言&#xff1a; 有需要本文章源码的友友请前往&#xff1a;LRUCache源码 LRUCache简介&#xff1a; LRU是Least Recently Used的缩写&#xf…

ChatGPT-4 Turbo 今天开放啦!附如何查询GPT-4 是否为 Turbo

2024年4月12日&#xff0c;OpenAI在X上宣布GPT-4 Turbo开放了&#xff01;提高了写作、数学、逻辑推理和编码方面的能力。另外最重要的是&#xff0c;响应速度更快了&#xff01;&#xff01; ChatGPT4 Turbo 如何升级&#xff1f;解决国内无法升级GPT4 Turbo的问题&#xff0…

设计模式-代理模式(Proxy)

1. 概念 代理模式&#xff08;Proxy Pattern&#xff09;是程序设计中的一种结构型设计模式。它为一个对象提供一个代理对象&#xff0c;并由代理对象控制对该对象的访问。 2. 原理结构图 抽象角色&#xff08;Subject&#xff09;&#xff1a;这是一个接口或抽象类&#xff0…

ros2 launch gazebo_ros gazebo.launch.py无法启动

我的系统是ubuntu20.04&#xff0c;ros2的版本是humble&#xff0c;当运行gazebo仿真时&#xff0c;运行 ros2 launch gazebo_ros gazebo.launch.py命令&#xff0c;会出现以下问题&#xff1a; 此时&#xff0c;这个页面会卡死在第六行&#xff0c;gazebo也不会打开 但最后单…

哈希函数算法

概述 为了实现哈希集合这一数据结构&#xff0c;有以下几个关键问题需要解决&#xff1a; 哈希函数&#xff1a;能够将集合中任意可能的元素映射到一个固定范围的整数值&#xff0c;并将该元素存储到整数值对应的地址上。冲突处理&#xff1a;由于不同元素可能映射到相同的整…

C语言中局部变量和全局变量是否可以重名?为什么?

可以重名 在C语言中, 局部变量指的是定义在函数内的变量, 全局变量指的是定义在函数外的变量 他们在程序中的使用方法是不同的, 当重名时, 局部变量在其所在的作用域内具有更高的优先级, 会覆盖或者说隐藏同名的全局变量 具体来说: 局部变量的生命周期只在函数内部,如果出了…

【C++类和对象】构造函数与析构函数

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…