上線了上線了,我的博客上線了!
搞了半天總算把博客給弄好了,域名備案因?yàn)檫^期了所以暫時只能用IP訪問了,http://120.55.164.9/,分享一下搭建環(huán)境的過程。
博客選型
搭建博客首先肯定考慮選擇哪個開源的軟件了,看了一下其他大佬的分享和網(wǎng)上的文章,最終確定了docsify和halo。
docsify好處就在于干凈、簡單,比較符合我的要求,但是考慮到后面維護(hù)可能會交給不懂技術(shù)的朋友,所以最終還是選擇了halo了。
halo的話模板比較多,搞起來也比較快,還帶個后臺管理系統(tǒng),可以說只要搭建起來有手就行,后面就不需要我自己去操心了。
看下搭建好的頁面,隨便搞個模板整一下看起來還不錯的樣子。

搭建過程
說實(shí)話我不太喜歡搞github pages那些東西,整個服務(wù)器也花不了幾個錢,自己沒事上去還能玩一玩,主要還是喜歡這種能自己控制的感覺。
服務(wù)器和域名
首先,服務(wù)器阿里云剛好在搞活動,然后用朋友沒買過阿里云服務(wù)器的弄個小號,綁定我自己的代理推廣賬戶,最后買了個2C2G+3M帶寬的3年才花了800,然后代理還給我自己返利了180,還是很可以的,如果你有買服務(wù)器的需求我也可以幫一幫你,我覺得這樣操作很穩(wěn)。

域名的話注冊,aixiaoxian.vip,3年100塊,建議第一次多買幾年會便宜很多,續(xù)費(fèi)的話會比較貴。
備案阿里云都可以很快速的搞定,現(xiàn)在域名備案改版后還是比之前好用多了,之前還要阿里云給你快遞幕布,然后手持身份證拍照上傳。。。現(xiàn)在方便多了,5分鐘搞定。
halo環(huán)境搭建
我們按照官網(wǎng)的環(huán)境部署方式傻瓜式一步步做就好了:https://docs.halo.run/install/docker,還是簡單貼一下過程,為什么選擇docker方式呢,我想可能3年后我還得去搞個新號再白嫖3年服務(wù)器,要是不用docker遷移可能會挺麻煩的。
因?yàn)槲也挥肏2哈,還是選擇Mysql,知根知底用起來方便點(diǎn),所以搭建的過程會有點(diǎn)不同,如果對docker不太熟悉的同學(xué)搞起來還是有點(diǎn)不太順利的,因?yàn)楣倬W(wǎng)它也沒有告訴你用Mysql到底要怎么搞,怎么配置。
跟著官網(wǎng)走,創(chuàng)建工作目錄
mkdir ~/.halo && cd ~/.halo
下載配置文件,這里我們等會兒要修改的
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
修改配置文件,我把修改好的貼出來,關(guān)于H2的部分我們要全部注釋掉,Mysql的URL填寫方式要注意修改,這里不能寫127.0.0.1,要填寫待會兒我們安裝docker mysql的名字才行,如果這里沒有配置正確的話,肯定會報錯的。
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://blog_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: aixuan123
# 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
然后我們先安裝mysql,不帶版本號安裝最新版本就好了,就用8.0的版本。
docker pull mysql
接著創(chuàng)建鏡像,啟動,因?yàn)槲曳?wù)器自己裝了一個mysql,所以端口做個映射。
docker run --name blog_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123123 -d mysql
接著,我們進(jìn)入容器按照官方文檔要求去創(chuàng)建halo的數(shù)據(jù)庫,因?yàn)椴粫詣觿?chuàng)建,創(chuàng)建好數(shù)據(jù)庫之后會自動幫我們創(chuàng)建好表,為了方便我們外網(wǎng)訪問,還是順便把訪問權(quán)限一并干了,因?yàn)閙ysql8之后授權(quán)方式有點(diǎn)不一樣,還是用創(chuàng)建新用戶的方式。
# 進(jìn)入容器
docker exec -it blog_mysql /bin/bash
# 登錄mysql,創(chuàng)建數(shù)據(jù)庫
mysql -u root -p
create database halodb character set utf8mb4 collate utf8mb4_bin;
# 切換數(shù)據(jù)庫
use mysql;
# 創(chuàng)建用戶設(shè)置密碼
CREATE USER 'blog'@'%' IDENTIFIED BY '123123';
# 修改加密方式,不然可能有些客戶端不支持會報錯
ALTER USER 'blog'@'%' IDENTIFIED WITH mysql_native_password BY '123123';
# 授權(quán)
grant all on *.* to 'blog'@'%';
去拉取halo鏡像,然后創(chuàng)建容器、啟動,注意這里關(guān)聯(lián)到我們的mysql
#拉取halo鏡像
docker pull halohub/halo
# 關(guān)聯(lián)mysql啟動
docker run -itd --name halo --link blog_mysql -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo
這樣實(shí)際也可以用了,但是我們肯定不會用8090的端口了,所以我們還需要接著安裝nginx,配置的話就按照官方給出的配置就好了。
# 安裝Ngnix
sudo yum install -y nginx
# 設(shè)置開機(jī)啟動
sudo systemctl enable nginx
# 啟動
sudo systemctl start nginx
# 修改nginx反向代理配置
vim /etc/nginx/nginx.conf
流程到這里就差不多結(jié)束了,然后我們訪問http://120.55.164.9/,按照步驟安裝完成,就看到了文章開頭的博客地址了,輸入http://120.55.164.9/admin 就可以進(jìn)管理后臺了,導(dǎo)入我們之前寫好的文章只需要通過系統(tǒng)-小工具-Markdown導(dǎo)入即可,很方便!

對于那些沒有用過阿里云或者其他云產(chǎn)品的人來說,可能經(jīng)常會有一個問題就是明明都OK為什么都訪問不了呢?因?yàn)橐O(shè)置安全組出入規(guī)則,要把你的端口都配置進(jìn)去才行。

好了,簡單的搭建教程就到這里結(jié)束了,說起來好像幾句話的功夫,其實(shí)弄下來一天功夫還是要的,別說我還摸索了下這個皮膚能不能修改下字體,我對這個字體不太滿意,改完發(fā)現(xiàn)問題挺多還是先放棄了。
要買服務(wù)器,域名備案,然后安裝,文章導(dǎo)入,導(dǎo)入之后還得加個標(biāo)簽啊什么的,簡單設(shè)置下頁面,主題要配置,挺麻煩的,回頭再搞個域名搞一個docsify自己玩。
