用Halo在自己服務(wù)器搭建一個(gè)個(gè)人博客

本文主要講解一下如何從零基礎(chǔ)到搭建出一個(gè)個(gè)人的博客

在講解之前,我先說明一下相關(guān)的東西。

1.Halo簡介

Halo 是一款現(xiàn)代化的個(gè)人獨(dú)立博客系統(tǒng),給習(xí)慣寫博客的同學(xué)多一個(gè)選擇。
Halo [?he?lo?],意為光環(huán)。當(dāng)然,你也可以當(dāng)成拼音讀(哈嘍)。
輕快,簡潔,功能強(qiáng)大,使用 Java 開發(fā)的博客系統(tǒng)。

2.Linux服務(wù)器安裝

本教程以Centos7為例,配置并運(yùn)行 Halo,其他 Linux 發(fā)行版大同小異。

2.1.寫在前面
具備一定的 Linux 基礎(chǔ)。
如需域名綁定,請(qǐng)先保證已經(jīng)正確解析 IP,以及確認(rèn)服務(wù)器是否需要備案。
如需使用 IP 訪問,請(qǐng)先確保 Halo 的運(yùn)行端口已經(jīng)打開,除非你使用 80 端口運(yùn)行 Halo。
如 3 所述,如果你使用了類似 寶塔面板 之類的 Linux 管理面板,可能還需要在面板里設(shè)置端口。
不要想當(dāng)然,請(qǐng)嚴(yán)格按照文檔的流程操作。

3.正題:

接下來咱們講一講有關(guān)服務(wù)器的,這里我購買的是阿里巴巴的服務(wù)器,因?yàn)槭菍W(xué)生,所以現(xiàn)在有些優(yōu)惠,下面就是,這里我推薦購買centos.


image.png

購買之后,就會(huì)有這樣的一個(gè)界面


image.png

點(diǎn)擊進(jìn)入,通過Xshell遠(yuǎn)程連接,進(jìn)入控制臺(tái)


image.png

下面開始最重要的

4.服務(wù)器配置

更新軟件包
請(qǐng)確保服務(wù)器的軟件包已經(jīng)是最新的。

sudo yum update -y
image.png

安裝 Java 運(yùn)行環(huán)境
若已經(jīng)存在 Java 運(yùn)行環(huán)境的可略過這一步。

java -version
image.png

當(dāng)然,這只是其中一種比較簡單的安裝方式,你也可以用其他方式,并不是強(qiáng)制要求使用這種方式安裝。

5.安裝 Halo

5.1.下載配置文件

curl -o ~/.halo/application.yaml --create-dirs http://halo.ryanc.cc/config/application-template.yaml
image.png

修改配置文件
完成上一步操作,我們就可以自己配置 Halo 的運(yùn)行端口,以及數(shù)據(jù)庫相關(guān)的配置了。

5.2.使用 Vim 工具修改配置文件

vim ~/.halo/application.yaml

打開之后我們可以看到

server:
  port: 8090

  # Response data gzip.
  compression:
    enabled: false
spring:
  datasource:

    # H2 database configuration.
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:~/.halo/db/halo
    username: admin
    password: 123456

    # MySQL database configuration.
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#    username: root
#    password: 123456

  # H2 database console configuration.
  h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console
      enabled: false

halo:

  # Your admin client path is https://your-domain/{admin-path}
  admin-path: admin

  # memory or level
  cache: memory

1.如果需要自定義端口,修改 server 節(jié)點(diǎn)下的 port 即可。

2.默認(rèn)使用的是 H2 Database 數(shù)據(jù)庫,這是一種嵌入式的數(shù)據(jù)庫,使用起來非常方便。需要注意的是,默認(rèn)的用戶名和密碼為 admin 和 123456,這個(gè)是自定義的,最好將其修改,并妥善保存。

3.如果需要使用 MySQL 數(shù)據(jù)庫,需要將 H2 Database 的所有相關(guān)配置都注釋掉,并取消 MySQL 的相關(guān)配置。另外,MySQL 的默認(rèn)數(shù)據(jù)庫名為 halodb,請(qǐng)自行配置 MySQL 并創(chuàng)建數(shù)據(jù)庫,以及修改配置文件中的用戶名和密碼。

4.h2 節(jié)點(diǎn)為 H2 Database 的控制臺(tái)配置,默認(rèn)是關(guān)閉的,如需使用請(qǐng)將 h2.console.settings.web-allow-others 和 h2.console.enabled 設(shè)置為 true??刂婆_(tái)地址即為 域名/h2-console。注意:非緊急情況,不建議開啟該配置。

5.server.compression.enabled 為 Gzip 功能配置,如有需要請(qǐng)?jiān)O(shè)置為 true,需要注意的是,如果你使用 Nginx 或者 Caddy 進(jìn)行反向代理的話,默認(rèn)是有開啟 Gzip 的,所以這里可以保持默認(rèn)。

6.halo.admin-path 為后臺(tái)管理的根路徑,默認(rèn)為 admin,如果你害怕別人猜出來默認(rèn)的 admin(就算猜出來,對(duì)方什么都做不了),請(qǐng)自行設(shè)置。僅支持一級(jí),且前后不帶 /。

7.halo.cache 為系統(tǒng)緩存形式的配置,可選 memory 和 level,默認(rèn)為 memory,將數(shù)據(jù)緩存到內(nèi)存,使用該方式的話,重啟應(yīng)用會(huì)導(dǎo)致緩存清空。如果選擇 level,則會(huì)將數(shù)據(jù)緩存到磁盤,重啟不會(huì)清空緩存。如不知道如何選擇,建議默認(rèn)。

這里我就不進(jìn)行修改了,有興趣的可以改改。

注意
使用 MySQL 之前,必須要先新建一個(gè) halodb 數(shù)據(jù)庫,MySQL 版本需 5.7 以上。
create database halodb character set utf8mb4 collate utf8mb4_bin;

5.3.運(yùn)行 Halo
Halo 的整個(gè)應(yīng)用程序只有一個(gè) Jar 包,且不包含用戶的任何配置,它放在任何目錄都是可行的。需要注意的是,Halo 的整個(gè)額外文件全部存放在 ~/.halo目錄下,包括 application.yaml(用戶配置文件),template/themes(主題目錄),upload(附件上傳目錄),halo.db.mv(數(shù)據(jù)庫文件)。一定要保證 ~/.halo的存在,你博客的所有資料可都存在里面。所以你完全不需要擔(dān)心安裝包的安危,它僅僅是個(gè)服務(wù)而已。

# 下載最新的 Halo 安裝包,{{version}} 為版本號(hào),不帶 v
wget http://halo.ryanc.cc/release/halo-{{version}}.jar -O halo-latest.jar

# 或者
wget http://halo.ryanc.cc/release/halo-latest.jar -O halo-latest.jar

# 或者,{{version}} 為版本號(hào),不帶 v
wget https://halo.nova.moe/release/halo-{{version}}.jar -O halo-latest.jar

# 備用地址(建議海外服務(wù)器使用)
wget https://github.com/halo-dev/halo/releases/download/v1.2.0/halo-1.2.0.jar -O halo-latest.jar
# 啟動(dòng)測(cè)試
java -jar halo-latest.jar

如看到以下日志輸出,則代表啟動(dòng)成功.

image.png

5.4.進(jìn)階配置

上面我們已經(jīng)完成了 Halo 的整個(gè)配置和安裝過程,接下來我們對(duì)其進(jìn)行更完善的配置,比如:需要開機(jī)自啟?,更簡單的啟動(dòng)方式?

實(shí)現(xiàn)以上功能我們只需要新增一個(gè)配置文件即可,也就是使用 Systemd來完成這些工作。

# 下載 Halo 官方的 halo.service 模板
sudo curl -o /etc/systemd/system/halo.service --create-dirs http://halo.ryanc.cc/config/halo.service

下載完成之后,我們還需要對(duì)其進(jìn)行修改。

sudo vim /etc/systemd/system/halo.service

打開之后我們可以看到

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

參數(shù):

  1. -Xms256m:為 JVM 啟動(dòng)時(shí)分配的內(nèi)存,請(qǐng)按照服務(wù)器的內(nèi)存做適當(dāng)調(diào)整,512 M 內(nèi)存的服務(wù)器推薦設(shè)置為 128,1G 內(nèi)存的服務(wù)器推薦設(shè)置為 256,默認(rèn)為 256。
  2. -Xmx256m:為 JVM 運(yùn)行過程中分配的最大內(nèi)存,配置同上。
    YOUR_JAR_PATH:Halo 安裝包的絕對(duì)路徑,例如 /www/wwwroot/halo-latest.jar。
提示

如果你不是按照上面的方法安裝的 JDK,請(qǐng)確保/usr/bin/java是正確無誤的。
systemd 中的所有路徑均要寫為絕對(duì)路徑,另外,~ 在 systemd 中也是無法被識(shí)別的,所以你不能寫成類似 ~/halo-latest.jar 這種路徑。
如何檢驗(yàn)是否修改正確:把 ExecStart中的命令拿出來執(zhí)行一遍。

image.png
# 修改 service 文件之后需要刷新 Systemd
sudo systemctl daemon-reload
# 使 Halo 開機(jī)自啟
sudo systemctl enable halo
# 啟動(dòng) Halo
sudo service halo start
# 重啟 Halo
sudo service halo restart
# 停止 Halo
sudo service halo stop
# 查看 Halo 的運(yùn)行狀態(tài)
sudo service halo status
image.png

以上內(nèi)容同項(xiàng)目文檔,原文檔地址:在 Linux 服務(wù)器部署 Halo
此外,還借鑒了一位學(xué)長的博客小張技術(shù)博客

5.5.進(jìn)入Halo

輸入以下網(wǎng)址進(jìn)入:

http://ip地址:8090/ #這里的端口使用的是默認(rèn)的
image.png

填好信息后點(diǎn)擊安裝即可

image.png

安裝成功后登錄

image.png

5.6.安裝成功

image.png

網(wǎng)站主頁的默認(rèn)主題是這種,可以修改。

image.png

6.修改博客主題

主題倉庫地址:地址

6.1.主題倉庫

image.png

6.2.選擇主題

選擇一個(gè)你喜歡的點(diǎn)擊詳情。接著找到主題Github地址,點(diǎn)擊進(jìn)入

image.png

接著復(fù)制主題地址

image.png

6.3.修改主題

在網(wǎng)站后臺(tái)中進(jìn)入主題界面,界面右下角有添加主題按鈕,點(diǎn)擊后,選擇安裝主題

image.png

輸入剛才復(fù)制的地址,點(diǎn)擊下載

image.png

如果不能下載成功,可以手動(dòng)下載下來,然后使用本地上傳。成功后點(diǎn)擊啟用即可。

image.png

6.4.設(shè)置主題

點(diǎn)擊主題的設(shè)置可以修改主題的一些配置。

image.png

主題有很多配置大家可以參照文檔多試試。

7.最后

個(gè)人博客地址:菜鳥小謝

還要再次說明,本博客大致來源于一個(gè)大佬學(xué)長的
小張技術(shù)博客

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容