Linux超簡單部署個人博客

1 安裝halo

1.1 切換到超級用戶

?sudo -i

1.2 新建halo文件夾

?mkdir ~/halo && cd ~/halo

1.3 編輯docker-compose.yml文件

?vim ~/halo/docker-compose.yml

英文輸入法下,按 i

version: "3"services:halo:image: halohub/halo:2.10container_name: halorestart: on-failure:3depends_on:halodb:condition: service_healthynetworks:halo_network:volumes:- ./halo2:/root/.halo2ports:- "8090:8090"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]interval: 30stimeout: 5sretries: 5start_period: 30scommand:- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo- --spring.r2dbc.username=root# MySQL 的密碼,請保證與下方 MYSQL_ROOT_PASSWORD 的變量值一致。- --spring.r2dbc.password=qazwsx06210930- --spring.sql.init.platform=mysql# 外部訪問地址,請根據實際需要修改- --halo.external-url=http://localhost:8090/halodb:image: mysql:8.1.0container_name: halodbrestart: on-failure:3networks:halo_network:command: - --default-authentication-plugin=caching_sha2_password- --character-set-server=utf8mb4- --collation-server=utf8mb4_general_ci- --explicit_defaults_for_timestamp=truevolumes:- ./mysql:/var/lib/mysql- ./mysqlBackup:/data/mysqlBackupports:- "3306"healthcheck:test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]interval: 3sretries: 5start_period: 30senvironment:# 請修改此密碼,并對應修改上方 Halo 服務的 SPRING_R2DBC_PASSWORD 變量值- MYSQL_ROOT_PASSWORD=qazwsx06210930- MYSQL_DATABASE=halonetworks:halo_network:

注意:

1.修改域名:

docker-compose.yml里面的--halo.external-url=http://localhost:8090/改為--halo.external-url=https://域名(手動修改)

2.修改數據庫密碼(手動修改)

3.數據庫端口原文檔為"3306:3306",上方docker-compose.yml為"3306",作用是不開放公網訪問數據庫(安全安全安全)

image-20231014001544180

修改完yaml代碼,然后復制粘貼到輸入框

按ESC鍵,英文輸入法下輸入wq,按enter鍵完成保存

1.4 啟動halo服務

?docker-compose up -d

image-20231014002101385

1.5.實時查看日志

?docker-compose logs -f

2 配置反向代理

2.1 安裝Nginx Proxy Manager

創建docker-compose.yml

?mkdir -p ~/data/docker_data/nginxproxymanager ? # 創建一個 npm 的文件夾?cd ~/data/docker_data/nginxproxymanager ? ?# 進入該文件夾?vi docker-compose.yml

英文模式下,輸入i,進入編輯模式,然后粘貼下面的內容

version: '3'
services:app:image: 'jc21/nginx-proxy-manager:latest'restart: unless-stoppedports:- '80:80'  # 保持默認即可,不建議修改左側的80- '81:81'  # 冒號左邊可以改成自己服務器未被占用的端口- '443:443' # 保持默認即可,不建議修改左側的443volumes:- ./data:/data # 冒號左邊可以改路徑,現在是表示把數據存放在在當前文件夾下的 data 文件夾中- ./letsencrypt:/etc/letsencrypt  # 冒號左邊可以改路徑,現在是表示把數據存放在在當前文件夾下的 letsencrypt 文件夾中

在英文輸入法下,按一下Esc鍵 ,然后 輸入 :wq,按以下enter鍵,保存yml文件

2.2 啟動Nginx Proxy Manager

?docker-compose up -d

image-20231014004721503

2.3 登錄Nginx Proxy Manager

啟動成功,使用http://ip:81訪問

image-20231014005824747

默認賬號為:admin@example.com

默認密碼為:changeme

2.4 設置反向代理

image-20231014010315416

  • Domain Names:填我們 Halo 網站的域名,首先記得做好 DNS 解析,把域名綁定到我們的服務器的 IP 上

  • Scheme:默認 即可,除非你有自簽名證書http

  • Forward Hostname/IP:填入服務器的 IP,或者 Docker 容器內部的 IP(如果 NPM 和 Halo 搭建在同一臺服務器上的話)

  • Forward Port:填入 Halo 映射出的端口,這邊默認是8090

  • Cache Assets:緩存,可以選擇打開

  • Block Common Exploits: 阻止常見的漏洞,可以選擇打開

  • Websockets Support:WS 支持,可以選擇打開

  • Access List: 這個是 NPM 自帶的一個限制訪問功能,這邊我們不管,后續可以自行研究。

注:此解釋摘抄于此halo文檔

docker內部ip查詢方法:

?ip addr show docker0

如圖所示,docker內部ip為:172.17.0.1

image-20231014013418434

2.5 申請SSL證書

image-20231014011103960

反向代理配置完成

3 halo使用教程

3.1 初始化halo

輸入網址:https://域名/console,跳轉到初始化界面

設置站點名稱,郵箱,賬戶密碼,以后都是通過這個賬戶密碼進入后臺管理博客

image-20231014013619564

點擊初始化按鈕后,等待初始化完成,刷新后出現以下界面,即代表初始化完成

image-20231014021749042

點擊左上角,即可跳轉到博客前臺,這是halo博客的默認主題:theme-earth

image-20231014021834732

3.2 安裝主題

1.應用市場:halo提供安裝主題功能,可以安裝自己喜歡的主題

2.上傳安裝:上傳下載好的halo主題包,上傳安裝

3.遠程下載:輸入鏈接,遠程下載主題包

4 主題推薦

4.1 極簡主題

Butterfly主題

簡潔而不簡單,好看,日常博客夠用,追求更多豐富的功能還得敲打敲打作者

這是我之前用過的一款比較好看的hexo主題,沒有想到有大佬移植到halo,在hexo中,配置主題是一個非常耗時間的工作,遷移到halo后,只需要在后臺管理配置即可

預覽:小紅 (dhjdd.cn)

butterfly主題預覽效果圖

jeo 3.0主題

簡潔界面且功能豐富,可操作性強

與Butterfly相比,布局更加自由,定制性更好

預覽:Jiewen’blog

jeo3.0主題預覽效果圖

4.2 多彩主題

Hao主題

win11風格,功能豐富

這款主題功能也非常豐富,相對比之下我更喜歡簡潔一點的風格

Hao主題預覽效果圖

總結:想要簡潔方便選擇butterfly,想要界面簡潔功能多選擇jeo 3.0,想要體驗win11風格,功能豐富選Hao

原文鏈接:ubuntu部署Halo博客 | Zeek實驗室

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

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

相關文章

2017年全國碩士研究生入學統一考試管理類專業學位聯考數學試題——解析版

文章目錄 2017 級考研管理類聯考數學真題解析一、問題求解(本大題共 5 小題,每小題 3 分,共 45 分)下列每題給出 5 個選項中,只有一個是符合要求的,請在答題卡上將所選擇的字母涂黑。真題(2017-…

Python 提高篇學習筆記(一):深拷貝和淺拷貝

文章目錄 一、什么是對象的引用二、深拷貝和淺拷貝2.1 淺拷貝(Shallow Copy)2.2 深拷貝(Deep Copy)2.3 copy.copy和copy.deepcopy的區別 一、什么是對象的引用 在 Python 中,對象的引用是指變量指向內存中某個對象的地址或標識符。當你創建一個新的對象(比如一個整…

[技術雜談]計算機系統硬件類名稱

在各種編程語言都可以見到利用WMI查詢計算機硬件信息,因此知道有哪些計算機硬件名稱非常有必要,下面列舉了所有計算機硬件名稱可以查詢。 本文內容 冷卻設備類輸入設備類大容量存儲類主板、控制器和端口類 顯示另外 6 個 計算機系統硬件類別將表示硬…

git修改遠程分支名稱

先拉取old_branch最新代碼到本地 git checkout old_branchgit pull origin old_branch本地修改后并推送 git branch -m old_branch new_branch # 修改分支名稱git push --delete origin old_branch # 刪除在遠程的老分支推送新分支 git push origin new_branch本地分支與遠…

除自身以外數組的乘積[中等]

優質博文:IT-BLOG-CN 一、題目 給你一個整數數組nums,返回數組answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘積。題目數據保證數組nums之中任意元素的全部前綴元素和后綴的乘積都在32位整數范圍內。請不要使用除法&#xff0…

【Qt開發流程】之富文本處理

描述 Scribe框架提供了一組類,用于讀取和操作結構化的富文本文檔。與Qt中以前的富文本支持不同,新的類集中在QTextDocument類上,而不是原始文本信息。這使開發者能夠創建和修改結構化的富文本文檔,而不必準備中間標記格式的內容。…

【數據結構】A : A DS圖_傳遞信息

A : A DS圖_傳遞信息 Description 小明在和他的小伙伴們玩傳消息游戲,游戲規則如下: 有n名玩家,所有玩家編號分別為0~n-1,其中小明編號為0;每個玩家都有固定的若干個可傳信息的其他玩家(也可能沒有)。傳消息的關系是…

busybox制作根文件系統2

上篇內容使用busybox制作好了根文件系統,接下來需要進行一些測試和功能的完善! 根文件系統的測試 測試根文件系統的時候不是直接燒寫到EMMC里面,這樣測試效率太低了,Ubuntu的rootfs目錄已經保存了根文件系統,只需要在…

向量數據庫,展望AGI時代

無論是向量數據庫,還是大模型,歸根結底,大家在追捧它時的心態,焦慮大于需求。 向量數據庫的熱潮,在一定程度上“外化”了人們的焦慮。 但這并不能否定向量數據庫的實際價值,甚至更長遠來看,向…

【C++】linux下的gdb程序調試

目錄 【C】Linux 下的 GDB 程序調試1. 安裝 GDB2. 編譯程序3. 啟動 GDB4. 設置斷點5. 執行程序6. 調試命令7. 調試崩潰8. 結束調試 【C】Linux 下的 GDB 程序調試 在開發 C 程序時,出現 bug 是常見的。調試是找出程序錯誤的關鍵步驟之一。在 Linux 環境下&#xff…

RedisTemplate使用詳解

RedisTemplate介紹StringRedisTemplate介紹RedisConnectionFactory介紹RedisConnectionFactory源碼解析 RedisOperations介紹RedisOperations源碼解析 RedisTemplate使用連接池配置RedisTemplate連接池連接池配置 RedisTemplate應用場景RedisTemplate主要特點RedisTemplate使用…

redis運維(十六) 有序集合

一 有序集合 把握一點: 各種redis 命令都提供各種語言對應的API 接口,后續API是關鍵 ① 概念 1、sorted set --> 有序集合2、redis有序集合也是集合類型的一部分,所以它保留了集合中元素不能重復的特性3、但是不同的是,有序集合給每個元素多設置…

什么是數字孿生?

數字孿生是指通過數字化技術手段,將現實世界中的實體物理系統或過程與其數字化模型相連接,實現實體物理系統或過程的虛擬仿真、監測、預測和優化等功能的一種技術。數字孿生技術可以將物理系統的運行狀態、性能參數、故障信息等實時反饋到數字模型中&…

轉型做視頻了,博客就是稿子,繼續堅持寫博客,同時發布視頻,能寫博客說明思路清晰了,能再講明白,理解就更透徹了,緊跟上時代發展。

1,今天特別記錄下,B站給開通了《合集》功能 最近使用視頻制作了幾個視頻。播放量還不錯,最好的已經到了 2.6K了。 然后粉絲也漲到了 200個。 添加鏈接描述 緊跟時代:從寫博客到錄視頻,粉絲大漲,突破200個&…

vue開發一、在Vue中引入ElementUI二、在Vue中使用阿里圖標庫

目錄 一、在Vue中引入ElementUI1. 安裝ElementUI2. 引入ElementUI3. 使用ElementUI組件 二、在Vue中使用阿里圖標庫1. 在阿里圖標庫中選擇圖標2. 下載圖標3. 引入圖標4. 使用圖標 總結 一、在Vue中引入ElementUI ElementUI是一種基于Vue的第三方UI庫,提供了許多常用…

接口自動化測試 —— 工具、請求與響應

一、工具: 1.工具介紹 postman :很主流的API測試工具,也是工作里面使用最廣泛的研發工具。 JMeter: ApiPost: 2.安裝postman: 安裝好直接打開,不用注冊。 二、通信模式: 1、…

【Java 進階篇】從Java對象到JSON:Jackson的魔法之旅

在現代的軟件開發中,處理數據的能力是至關重要的。而當我們談及數據格式時,JSON(JavaScript Object Notation)通常是首選。為了在Java中輕松地將對象轉換為JSON,我們需要一種強大而靈活的工具。這時,Jackso…

【Java 進階篇】Redis:打開緩存之門

介紹 Redis(Remote Dictionary Server)是一個高性能的鍵值對存儲系統,被廣泛用作緩存、消息中間件和數據庫。它以其快速的讀寫能力、支持多種數據結構和豐富的功能而聞名。在這篇博客中,我們將深入了解Redis的概念、安裝以及基本…

MQTT協議消息代理服務遠程連接

目錄 1. Linux 搭建 Mosquitto 2. Linux 安裝Cpolar 3. 創建MQTT服務公網連接地址 4. 客戶端遠程連接MQTT服務 5. 代碼調用MQTT服務 6. 固定連接TCP公網地址 7. 固定地址連接測試 Mosquitto是一個開源的消息代理,它實現了MQTT協議版本3.1和3.1.1。它可以在不…

第二十章:多線程

進程 線程的特點 1.進程是資源分配的最小單位&#xff0c;線程是最小的執行單位 2.一個進程可以有多個線程 3.線程共享進程資源 package twentyth; public class ThreadTest extends Thread { public void run() { for (int i 1; i < 10; i) {//繼承重…