五分鐘部署開源運維平臺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.pswp.cn/bicheng/14959.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14959.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14959.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

移除元素-力扣

第一種解法&#xff0c;暴力解法&#xff0c;使用兩個for循環一個進行遍歷&#xff0c;一個進行覆蓋&#xff0c;代碼如下&#xff1a; class Solution { public:int removeElement(vector<int>& nums, int val) {int size nums.size();for(int i 0; i < size; …

C語言中的 ?: :三元運算符詳解

C語言中的 ?: &#xff1a;三元運算符詳解 在C語言的浩瀚代碼海洋中&#xff0c;三元運算符&#xff08;?:&#xff09;如同一位優雅的舞者&#xff0c;以簡潔的姿態完成條件判斷與賦值的雙重任務。它以問號&#xff08;?&#xff09;和冒號&#xff08;:&#xff09;這兩個…

Linux完整版命令大全(九)

4. linux壓縮備份命令 ar 功能說明&#xff1a;建立或修改備存文件&#xff0c;或是從備存文件中抽取文件。語  法&#xff1a;ar[-dmpqrtx][cfosSuvV][a<成員文件>][b<成員文件>][i<成員文件>][備存文件][成員文件]補充說明&#xff1a;ar可讓您集合許多…

Spring boot 注入成員變量HttpServletRequest的原理

前言 最近做項目&#xff0c;springboot項目&#xff0c;本來我們在controller的requestmapping取參數值或者返回寫時&#xff0c;使用方法參數&#xff0c;但是發現老項目直接注入了成員變量&#xff0c;Spring本身是單例的&#xff0c;如果是成員變量注入&#xff0c;那么也…

【C語言】指針(三)

目錄 一、字符指針 1.1 ? 使用場景 1.2 ? 有關字符串筆試題 二、數組指針 2.1 ? 數組指針變量 2.2 ? 數組指針類型 2.3 ? 數組指針的初始化 三、數組指針的使用 3.1 ? 二維數組和數組名的理解 3.2 ? 二維數組傳參 四、函數指針 4.1 ? 函數的地址 4.2 ? 函數…

JAVA面試題大全(十一)

1、為什么要使用 hibernate&#xff1f; 對JDBC訪問數據庫的代碼做了封裝&#xff0c;大大簡化了數據訪問層繁瑣的重復性代碼基于jdbc的主流持久化框架&#xff0c;是一個優秀的ORM實現&#xff0c;很大程度的簡化了dao層的編碼工作使用java的反射機制性能好&#xff0c;是一個…

【STL】C++ list 基本使用

目錄 一 list 常見構造 1 空容器構造函數&#xff08;默認構造函數&#xff09; 2 Fill 構造函數 3 Range 構造函數 4 拷貝構造函數 二 list迭代器 1 begin && end 2 rbegin && rend 三 list 容量操作 四 list 修改操作 1 assign 2 push_front &a…

【深度學習中的數據預處理技巧:提升模型性能的關鍵步驟】

文章目錄 前言數據標準化&#xff08;Normalization&#xff09;數據增強&#xff08;Data Augmentation&#xff09;缺失值處理&#xff08;Handling Missing Values&#xff09;特征編碼&#xff08;Feature Encoding&#xff09;結論 前言 在深度學習領域&#xff0c;數據預…

牛客NC362 字典序排列【中等 DFS Java/Go/PHP】

題目 題目鏈接&#xff1a; https://www.nowcoder.com/practice/de49cf70277048518314fbdcaba9b42c 解題方法 DFS&#xff0c;剪枝Java代碼 import java.util.*;public class Solution {/*** 代碼中的類名、方法名、參數名已經指定&#xff0c;請勿修改&#xff0c;直接返回…

【小筆記】如何在docker中更新或導入neo4j數據?

如何在docker中更新或導入neo4j數據&#xff1f; &#xff08;1&#xff09;背景&#xff1a; 我嘗試了4.4.9和5.19.0版本的Neo4j社區版&#xff0c;基于他們的鏡像創建容器后&#xff0c;需要導入我準備好的csv文件或dump文件&#xff0c;因為數據量非常大&#xff0c;所以采…

2024電工杯數學建模B題Python代碼+結果表數據教學

2024電工杯B題保姆級分析完整思路代碼數據教學 B題題目&#xff1a;大學生平衡膳食食譜的優化設計及評價 以下僅展示部分&#xff0c;完整版看文末的文章 import pandas as pd df1 pd.read_excel(附件1&#xff1a;1名男大學生的一日食譜.xlsx) df1# 獲取所有工作表名稱 e…

HarmonyOS-MPChart繪制一條虛實相接的曲線

本文是基于鴻蒙三方庫mpchart&#xff08;OpenHarmony-SIG/ohos-MPChart&#xff09;的使用&#xff0c;自定義繪制方法&#xff0c;繪制一條虛實相接的曲線。 mpchart本身的繪制功能是不支持虛實相接的曲線的&#xff0c;要么完全是實線&#xff0c;要么完全是虛線。那么當我…

面試總結之:socket線路切換

"socket線路切換"通常指的是在網絡通信過程中,根據當前網絡狀態或策略來動態更換數據傳輸路徑的技術。這種技術可以提高通信的可靠性和性能。 在實際應用中,線路切換可能涉及到多種技術,例如: 負載均衡:根據每條路徑的當前負載情況,動態地選擇一條較為空閑的路…

MySql超大Sql文件導入效率優化 —— 筑夢之路

使用場景 日常我們對mysql數據庫、mariadb數據庫進行定時備份&#xff0c;而隨著時間增長&#xff0c;導出來的備份文件越來越大&#xff0c;使用備份sql文件進行還原的時候&#xff0c;大文件非常慢&#xff0c;有些要執行很長時間&#xff0c;效率很低。 如何優化&#xff…

根據多個坐標經緯度獲取到中心點的經緯度,scala語言

文章目錄 前言scala 代碼 總結 前言 Scala 語言 通過多個經緯度坐標點, 計算出中心點, 這里使用的是 Scala 語言,其他的語言需要自行轉換。求出來的并不是原有的點&#xff0c;而是原有點的中心位置的點。 scala 代碼 package com.dw.process.midimport java.lang.Double.pa…

C語言 | Leetcode C語言題解之第97題交錯字符串

題目&#xff1a; 題解&#xff1a; bool isInterleave(char* s1, char* s2, char* s3) {int n strlen(s1), m strlen(s2), t strlen(s3);int f[m 1];memset(f, 0, sizeof(f));if (n m ! t) {return false;}f[0] true;for (int i 0; i < n; i) {for (int j 0; j &l…

基于UDP的tftp的文件傳輸

#define SER_PORT 69 #define SER_IP "192.168.125.71" #define CLT_PORT 6666 #define CLT_IP "192.168.125.158" int main(int argc, const char *argv[]) {//創建套接字文件描述符int cfd socket(AF_INET,SOCK_DGRAM,0);if(cfd -1){perror("sock…

vue2-computed,vue3+watch 前端實現列表搜索,結合filter+some+indexOf

vue2 computed實現 computed: {FBAAddressListComputed () {if (!this.fbaInput) return this.FBAAddressListconst lowerCaseInput this.fbaInput.toLowerCase()return this.FBAAddressList.filter((item) > {return [item.fbaCode, item.zipCode, item.countryCode, ite…

六(3)、RTKLIB源碼解析 — [postpos]: execses(antpos, outhead, procpos)

目錄 一、antpos() 1.1 avepos() 1.2 getstapos() 二、outhead() 三、procpos() 3.1 inputobs() 3.1.1 nexto

牛客周賽 Round 42

小紅叕戰小紫 #include<bits/stdc.h> using namespace std; void solve(){string s;cin>>s;if(s.length()<1)cout<<"yukari";else cout<<"kou"<<endl; } int main(){ios::sync_with_stdio(false), cin.tie(0), cout.tie…