当前位置: 首页 > news >正文

linux下使用Docker Compose部署Spug实现公网远程访问

📑前言

本文主要是linux下使用Docker Compose部署Spug实现公网远程访问的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点

在这里插入图片描述

目录

文章目录

  • 📑前言
  • **目录**
      • Spug介绍
      • 1. Docker安装Spug
      • 2 . 本地访问测试
      • 3. Linux 安装cpolar
      • 4. 配置Spug公网访问地址
      • 5. 公网远程访问Spug管理界面
      • 6. 固定Spug公网地址
  • 📑文章末尾


Spug介绍

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

特性:

批量执行: 主机命令在线批量执行
在线终端: 主机支持浏览器在线终端登录
文件管理: 主机文件在线上传下载
任务计划: 灵活的在线任务计划
发布部署: 支持自定义发布部署流程
配置中心: 支持KV、文本、json等格式的配置
监控中心: 支持站点、端口、进程、自定义等监控
报警中心: 支持短信、邮件、钉钉、微信等报警方式
优雅美观: 基于 Ant DesignUI界面
开源免费: 前后端代码完全开源

本例演示搭建使用docker compose 方式安装Spug,并结合cpolar
内网穿透实现远程访问,按照官网文档,首先设备需要提前安装好docker 和 docker compose!
安装方法:官方提供多种安装方法,譬如一键安装 手动安装 docker安装等多种模式

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,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,新地址访问,可能需要重新登陆

📑文章末尾

在这里插入图片描述

相关文章:

linux下使用Docker Compose部署Spug实现公网远程访问

📑前言 本文主要是linux下使用Docker Compose部署Spug实现公网远程访问的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 &am…...

【STM32 CAN】STM32G47x 单片机FDCAN作为普通CAN外设使用教程

STM32G47x 单片机FDCAN作为普通CAN外设使用教程 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽…...

Apache Log4j2漏洞

Log4j2是一个Java日志组件,被各类Java框架广泛地使用。它的前身是Log4j,Log4j2重新构建和设计了框架,可以认为两者是完全独立的两个日志组件。本次漏洞影响范围为Log4j2最早期的版本2.0-beta9到2.15.0。Log4j2分为2个jar包,一个是接口log4j-api-${版本号}.jar,一个是具体实…...

超级干货:光纤知识总结最全的文章

你们好,我的网工朋友。 光纤已经是远距离有线信号传输的主要手段,而安装、维护光纤也是很多人网络布线的基本功。 在网络布线中,通常室外楼宇间幢与幢之间使用的是光缆,室内楼宇内部大都使用的是以太网双绞线,也有使用…...

PyCharm因安装了illuminated Cloud插件导致加载项目失败

打开Pycharm时会有弹窗提示: The license for Illuminated Cloud is invalid or has expired. All Illuminated Cloud features will be disabled. 这个弹窗会导致你加载项目一直失败,close project 也关不掉,我都是用任务管理器杀死进程的…...

微服务拆分的一些基本原则

文章首发公众号:海天二路搬砖工 单一职责原则 什么是单一职责原则 单一职责原则原本是面向对象设计中的一个基本原则,它指的是一个类只负责一项职责,不要存在多于一个导致类变更的原因。 在微服务架构中,一个微服务也应该只负…...

Ubuntu取消sudo的输入密码

Ubuntu最近要安装软件,每次sudo都要输入一次密码,感觉很麻烦,于是想能不能设置为不输入密码,在网上找了一下解决办法。 主要参考这篇文章: Ubuntu取消sudo时输入密码 上面这篇文章使用的是vim,但是按照博…...

基于ubuntu22.04手动安装openstack——2023.2版本(最新版)的问题汇总

前言:基本上按照openstack官方网站动手可以搭建成功(如有需要私信发部署文档)。 但是任然有些小问题,所以汇总如下。 第一个问题 问题: ubuntu搭建2023.2版本neutorn报错,ERROR neutron.plugins.ml2.driv…...

如何入门学习黑客技术?如何选择编程语言?如何选择适合黑客的操作系统?

‘ 一 ’ 了解黑客技术的基础知识 学习黑客技术需要对网络安全和计算机系统有一定的了解。可以通过参加安全培训班、阅读专业书籍和学术论文、浏览网络安全博客和论坛等方式获取基础知识。涉及的内容包括网络协议、操作系统原理、计算机网络和编程等。 ‘ 二 ’ 选择适合你的…...

教育局档案室智慧档案库房建设方案

教育局档案室智慧档案库房建设是指教育局为了更好地保存和管理学校、教师、学生等相关档案资料,以及保证这些档案资料的安全性、可靠性和完整性,而建设的一个专门的存储、管理和保护档案资料的场所。 专久智能提供的教育局档案库房建设方案从以下几个方面…...

智慧城市数据中台建设方案:PPT全文51页,附下载

关键词:智慧城市解决方案,数据中台解决方案,智慧城市建设,数据中台技术架构,数据中台建设 一、智慧城市数据中台建设背景 智慧城市数据中台是在城市数字化转型和智能化升级的背景下提出的,旨在实现城市数…...

计算复杂性理论(一)图灵机

计算复杂性理论(一)图灵机 一台 k-带图灵机(TM)M 有 k-条带子。第一条带子称为输入带,用来存放输入数据,输入带是只读带。其余 k−1 条带子是工作带,既可以从工作带上读信息,也可以…...

VM虚拟机只有一个C盘怎么添加硬盘新分区盘符

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 前言 VM虚拟机中安装Window 系统后&#x…...

堆排序(大根堆、小根堆)

参考视频: 1、数据结构,小根堆的调整!必须熟练掌握! 2、数据结构建堆筛选输出最小值 | 计算机软件考研期末知识点2...

操作系统专栏 学习导航or使用说明

操作系统各章笔记 操作系统_第一章_系统概述 操作系统_第二章_进程的描述与控制 操作系统_第三章_处理机调度与死锁_笔记 操作系统_第四章_存储器管理 操作系统各章习题 操作系统第一章王道习题_系统概述_总结易错知识点 操作系统第二章王道习题_进程与线程_总结易错知识…...

计算机毕业设计选题推荐-课程学习微信小程序/安卓APP-项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

OracleLinux9 安装 fcgiwrap 并添加 selinux 规则以在 nginx 调用

fcgiwrap在其他系统上一般直接输命令就能安装,但是OracleLinux9会提示找不到软件包。安装成功后,selinux也会阻碍nginx的调用。 原因 OracleLinux9的这个软件包位于默认不启用的developer仓库。 安装fcgiwrap 编辑配置,将repo启用 sudo v…...

Django框架

目录 一.Django框架介绍 1.什么是Django框架 2.什么是web 3.web应用程序的优点 4.web应用程序的缺点 5.什么是web框架 二.wsgiref模块的使用 三.Django框架的学习 1.python中的主流框架: 2.如何使用Django (1)安装 (2&a…...

用C语言来实现冒泡排序

以下是使用C语言实现冒泡排序的代码示例&#xff1a; #include<stdio.h>void bubbleSort(int arr[], int n) {int i, j;for (i 0; i < n-1; i){for (j 0; j < n-i-1; j){if (arr[j] > arr[j1]){// 交换arr[j]和arr[j1]int temp arr[j];arr[j] arr[j1];arr[…...

flink的副输出sideoutput单元测试

背景 处理函数中处理输出主输出的数据流数据外,也可以输出多个其他的副输出的数据流数据&#xff0c;当我们的处理函数有副输出时&#xff0c;我们需要测试他们功能的正确性&#xff0c;本文就提供一个测试flink副输出单元测试的例子 测试flink副输出单元测试 首先看一下处理…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...