CentOS使用Docker搭建Halo網站并實現無公網ip遠程訪問

在這里插入圖片描述
🔥博客主頁 小羊失眠啦.
🎥系列專欄《C語言》 《數據結構》 《C++》 《Linux》 《Cpolar》
??感謝大家點贊👍收藏?評論??


在這里插入圖片描述
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站。

文章目錄

    • 1. Docker部署Halo
      • 1.1 檢查Docker版本
      • 如果未安裝Docker可參考
      • 已安裝Docker步驟:
      • 1.2 在Docker中部署Halo
    • 2. Linux安裝Cpolar
      • 2.1 打開服務器防火墻
      • 2.2 安裝cpolar內網穿透
    • 3. 配置Halo個人博客公網地址
    • 4. 固定Halo公網地址

本文主要介紹如何在CentOS 7系統使用Docker部署Halo個人博客,并結合cpolar內網穿透工具實現公網遠程訪問本地搭建的網站。

Halo是一款基于Java的開源建站工具,具有簡單易用、靈活性高、插件豐富等優點。可以做博客的軟件平臺有很多,像大家熟知的 WordPress 、Hexo、Typecho,對于計算機專業的人來說,他們會根據自己的需求選擇適合的平臺,但對于小白來說Halo雖然沒有功能沒有老牌的博客平臺那么全面,但是操作簡單,博客界面也很簡潔美觀。

真人女up分享如何快速本地部署一個簡潔美觀的個人Halo博客網站

0b78a413f513086c5dd5095f540f9fd

1. Docker部署Halo

1.1 檢查Docker版本

  • **本地環境操作系統:**CentOS 7 安裝Docker

    如果未安裝Docker可參考

    安裝軟件包(提供實用程序)并設置存儲庫

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    安裝Docker引擎

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

    啟動Docker

    sudo systemctl start docker
    

    通過運行映像來驗證 Docker 引擎安裝是否成功

    sudo docker run hello-world
    

    已安裝Docker步驟:

  • 啟動Docker:

 systemctl status docker
  • 檢查docker版本
docker -v
  • **檢查docker compose版本:**確保2.0以上版本
docker compose version
  • **下載Halo鏡像:**在docker hub下載Halo-V2.10版本鏡像
docker pull halohub/halo:2.10

1.2 在Docker中部署Halo

  • 創建掛載目錄
mkdir -p /data/halo && cd /data/halo

07a005be5cd19fdf5a377210cf5cc4c

  • 創建Halo容器:

Halo 2與1.x 版本不兼容;

此命令默認使用自帶的 H2 Database 數據庫,另外可以額外單獨使用Mysql數據庫進行連接。

docker run -it -d --name halo -p 8090:8090 -v /data/halo/.halo2:/root/.halo2 halohub/halo:2.10

dd6d2a9d946f02352574cd914fe3413

  • 查看halo容器狀態:檢查halo容器狀態,確保halo容器正常啟動
docker ps

0e79a5a0e6b242e6a6e73543831ccd7

  • 檢查halo容器日志: 檢查halo容器運行日志,確保halo服務正常啟動。
docker logs halo

d2379dad6f69ba006bea146afc6b874

  • 查看本地IP地址
ifconfig
  • 進入Halo初始化頁面

訪問地址:http://192.168.149.142:8090/console/setup,將IP替換為自己服務器IP地址。

**站點名稱:**myweb
**郵箱:**admin@qq.com
**用戶名:**admin
**密碼:**自定義
點擊初始化即可

a0f433681aae3d111b7523508784e38

  • **登錄Halo:**輸入賬號和密碼,登錄halo,進入到儀表盤界面

e05facc1f24d0ea066d9a9757fd4fe8

4e37c2c4e250ebfa4bc69eb97dc3b6b

接下來舉個例子我們創作一篇文章,在Halo后臺管理頁面,文章模塊,點擊“新建”

05f5f06359138c94a5dd5e9e743b14b

編輯完文章后,點擊發布,將文章進行發布,在文章列表中即可看到發布過的文章

c5d2a7df807cf778f743226dc7f93a3

接下來本地瀏覽器訪問http://192.168.149.142:8090/,本地服務器IP:8089,看到halo前臺首頁已經成功顯示發布文章

e7b8f9a91bbcd888d9c8c36f331f587

我們成功在本地部署了Halo,通過訪問掛載的8089端口即可看到Halo首頁界面,并創作了第一篇文章,如果我們想把創作好的個人博客發布至公網分享給身邊人點擊查看,那么就需要借助cpolar內網穿透工具了,接下來我們安裝cpolar內網穿透工具,實現無公網環境遠程訪問!

2. Linux安裝Cpolar

2.1 打開服務器防火墻

啟動防火墻

systemctl start firewalld

查看防火墻狀態

systemctl status firewalld

centos7 防火墻添加端口:【單個】

firewall-cmd --zone=public --add-port=9200/tcp --permanent

重新載入

firewall-cmd --reload

查看

firewall-cmd --zone=public --list-ports

2.2 安裝cpolar內網穿透

上面在本地Docker中成功部署了Halo,并局域網訪問成功,下面我們在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 管理界面配置即可

3. 配置Halo個人博客公網地址

點擊左側儀表盤的隧道管理——創建隧道,創建一個Halo的公網http地址隧道!

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協議:選擇http
  • 本地地址:8090 (本地訪問的地址)
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China

點擊創建

51428fa8d798a6f09244ff9567aa312

隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網訪問地址,有兩種訪問方式,一種是http 和https

d8fb5e5727a167bc7a527fbebfbd944

使用上面的Cpolar https公網地址,在任意設備的瀏覽器進行訪問,即可成功看到Halo首頁界面,這樣一個公網地址且可以遠程訪問就創建好了,使用了cpolar的公網域名,無需自己購買云服務器,即可發布到公網進行遠程訪問!

image-20240109105141668

小結

如果我們需要把自己的個人博客長期發布至公網,分享給別人查看,由于剛才創建的是隨機的地址,24小時會發生變化。另外它的網址是由隨機字符生成,不容易記憶。如果想把域名變成固定的二級子域名,并且不想每次都重新創建隧道,可以選擇創建一個固定的http地址來解決這個問題。

4. 固定Halo公網地址

我們接下來為其配置固定的HTTP端口地址,該地址不會變化,方便分享給別人長期查看你的博客,而無需每天重復修改服務器地址。

配置固定http端口地址需要將cpolar升級到專業版套餐或以上。

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱

bf1dd6a42148579307e2dae72055abc

保留成功后復制保留成功的二級子域名的名稱

edd09daaed4aa7183b057b271331157

返回登錄Cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

98b73f50633de7c58fe3484439751ed

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

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名

點擊更新(注意,點擊一次更新即可,不需要重復提交)

d2eeffd306da1d18e1c98884a2e45fa

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了固定的二級子域名名稱的域名

d68fa5856079ee39d18b5e909fb6697

最后,我們使用固定的公網https地址訪問,可以看到訪問成功,這樣一個固定且永久不變的公網地址就設置好了,隨時隨地都可以把個人博客分享給其他人了!

ade1b323d51ab81f7458d0fa22cf9ee

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697896.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697896.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697896.shtml

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

相關文章

【華為OD機試真題 C++語言】483、中文分詞模擬器 | 機試真題+思路參考+代碼解析(C卷)

文章目錄 一、題目??題目描述??輸入輸出??樣例1??樣例2??樣例3二、思路參考三、代碼參考作者:KJ.JK??個人博客首頁: KJ.JK ??專欄介紹: 華為OD機試真題匯總,定期更新華為OD各個時間階段的機試真題,每日定時更新,本專欄將使用C++語言進行更新解答,包含真…

創紀錄:英偉達市值一日增 2770 億美元;Xiaomi 14 Ultra 正式發布丨 RTE 開發者日報 Vol.150

開發者朋友們大家好: 這里是 「RTE 開發者日報」 ,每天和大家一起看新聞、聊八卦。我們的社區編輯團隊會整理分享 RTE (Real Time Engagement) 領域內「有話題的 新聞 」、「有態度的 觀點 」、「有意思的 數據 」、「有思考的 文…

mysql 用戶權限管理

mysql使用系統庫mysql的user表來存儲用戶信息。mysql.user表詳細的記錄了用戶名,對應的允許連接的主機信息還有各種全局權限標識位。 用戶管理 創建用戶 CREATE USER 用戶名host主機 IDENTIFIED BY 密碼;上面是創建用的基本命令,指定了用戶名&#xf…

Selenium基礎知識

一、環境搭建(以java為例) 1.下載chrome瀏覽器 https://www.google.cn/intl/zh-CN/chrome/ 2.查看chrome瀏覽器版本 設置關于chrome 3.下載chrome瀏覽器驅動 下載瀏覽器對應版本的 ChromeDriver - WebDriver for Chrome - Downloads 120以上版本&…

WordPress使用

WordPress功能菜單 儀表盤 可以查看網站基本信息和內容。 文章 用來管理文章內容,分類以及標簽。編輯文章以及設置分類標簽,分類和標簽可以被添加到 外觀-菜單 中。 分類名稱自定義;別名為網頁url鏈接中的一部分,最好別設置為中文…

概率密度函數(PDF)與神經網絡中的激活函數

原創:項道德(daode3056,daode1212) 在量子力學中,許多現象都是統計的結果,基本上用的是正態分布,然而,從本質上思考,應該還存在低階的分布,標準的正態分布是它的極限,這樣一來,或許在…

python中多線程使用

前言 記錄下Python中多線程使用 標題 前言簡介使用demo 簡介 Python 中的多線程主要通過 threading 模塊來實現。多線程是一種并發編程的方式,允許程序在同一時間執行多個線程,每個線程執行不同的任務。然而需要注意的是,在 Python 中由于 …

【前端素材】推薦優質后臺管理系統Spica Admin平臺模板(附源碼)

一、需求分析 后臺管理系統是一種用于管理網站、應用程序或系統的工具,它通常作為一個獨立的后臺界面存在,供管理員或特定用戶使用。下面詳細分析后臺管理系統的定義和功能: 1. 定義 后臺管理系統是一個用于管理和控制網站、應用程序或系統…

【安全】大模型安全綜述

大模型相關非安全綜述 LLM演化和分類法 A survey on evaluation of large language models,” arXiv preprint arXiv:2307.03109, 2023.“A survey of large language models,” arXiv preprint arXiv:2303.18223, 2023.“A survey on llm-gernerated text detection: Necess…

刷題日記-Day1- Leedcode-704. 二分查找,27. 移除元素-Python實現

704 二分查找 鏈接:https://leetcode.cn/problems/binary-search/description/ 給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target ,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標&#xf…

vue3 toRefs之后的變量修改方法

上效果 修改值需要帶上解構之前的對象名obj&#xff0c; changeName:()>{ // toRefs 解決后變量修改值方法&#xff1a; 解構前變量.字段新值 obj.name FEIFEI; } } 案例源碼 <!DOCTYPE html> <html> <head><me…

如何在pgAdmin中用替換的值更新jsonb列?

我有一個名為files的PostgreSQL表&#xff0c;其中包括一個名為formats的jsonb表。雖然有些行是[null]&#xff0c;但其他行具有此結構的對象&#xff1a; {"thumbnail": {"ext": ".jpg","url": "https://some-url.com/image01.…

Vue | (四)使用Vue腳手架(上) | 尚硅谷Vue2.0+Vue3.0全套教程

文章目錄 &#x1f4da;初始化腳手架&#x1f407;創建初體驗&#x1f407;分析腳手架結構&#x1f407;關于render&#x1f407;查看默認配置 &#x1f4da;ref與props&#x1f407;ref屬性&#x1f407;props配置項 &#x1f4da;混入&#x1f4da;插件&#x1f4da;scoped樣…

idea配置javafx

一、下載sdk 在jdk8之后,需要下載sdk包 ??javafx-sdk-18.zip 這里適用的jkd版本如圖 二、配置 創建一個項目之后,進行如下配置,將sdk導入到項目中 配置啟動參數 可以使用-號將之前的去掉&

同步 BUCK 與 異步 BUCK 的區別

上篇文章介紹 BUCK 基本拓撲電路工作原理&#xff0c;BUCK 電路如下圖&#xff1a; 因為二極管的存在&#xff0c;只需要控制一個 MOS 管開關&#xff0c;一般將該電路稱為異步 BUCK 電路&#xff0c;如果把這個二極管換為 MOS 管&#xff0c;如下圖&#xff1a; 該電路用到了兩…

vue Threejs實現任意畫線(鼠標點擊畫線)

Threejs實現任意畫線(鼠標點擊畫線) 鼠標左鍵單擊添加點鼠標右鍵回退到上一個點,并繼續畫按住shift可以畫平行于x軸或平行于z軸的線按Esc完成畫線

【leetcode題解C++】121.買賣股票的最佳時機 and 122.買賣股票的最佳時機II and 55.跳躍游戲 and 45.跳躍游戲II

121. 買賣股票的最佳時機 給定一個數組 prices &#xff0c;它的第 i 個元素 prices[i] 表示一支給定股票第 i 天的價格。 你只能選擇 某一天 買入這只股票&#xff0c;并選擇在 未來的某一個不同的日子 賣出該股票。設計一個算法來計算你所能獲取的最大利潤。 返回你可以從…

汽車信息安全概述

隨著智能網聯汽車的迅猛發展&#xff0c;車輛不再是簡單的交通工具&#xff0c;而是集數據收集、處理與通信于一體的移動智能終端。然而&#xff0c;這一變革也使得汽車成為黑客攻擊的新目標。汽車信息安全問題日益凸顯&#xff0c;成為行業關注的焦點。本文將深入探討汽車信息…

前后端分離vscode保險業務管理系統vue+Nodejs

本設計主要應用于完成對保險業務進行計算機化的管理。系統前臺展示各種種類的保險&#xff0c;顧客可以選擇登陸后買入。公司員工為管理員&#xff0c;由公司統一分配賬號&#xff0c;員工用工號密碼登陸。可以修改密碼&#xff0c;查看、修改自己的信息。員工可處理顧客信息。…

企微hook框架

https://wwm.lanzoum.com/ipUTp1ot1twh 密碼:hvev 免費的企微框架 支持文本消息&#xff0c;圖片消息&#xff0c;視頻消息&#xff0c;文件消息。 其他可自行下載測試。 有興趣可以進群交流。720192224 BOOL WxWorkSendData(string data) { WX_GETOBJDATA ob…