教你搭建 Github 個人博客網站

前言

搭建自己的個人博客網站,這是多少程序員兒時的夢想。(此處的兒時指的是剛開始接觸編程的時候)

爲此,折騰了不少。嚐遍各種第三方博客網站(博客園、CSDN、掘金、知乎),還是決定使用 Jekyll + Github 搭建自己的獨立博客網站。

Github 可以幫助我們構建 Jekyll 博客,只需要新建一個倉庫就可以。優點是免費,缺點是百度檢索困難。不過這一點影響也不大,可以另外使用 Gitee(國內版的 Github)。

我個人是使用獨立的服務器自行搭建的 Jekyll 環境,趁着服務器還有不少時間,擺着不用也是浪費~(哪怕後續服務器沒了,照樣可以用Github)

文章使用的 Github 進行管理,因爲用 Github 寫文章太爽了,跟寫代碼似的,也不易丟失。

技術方案就是服務器啓動 Jekyll Server,另加 crontab 定時任務,拉取最新的 Github 上的文章。實現自動化更新博客網站,這種方式用着挺省心的!

大家可以在公衆號後臺回覆“博客”兩個字訪問我的博客看看效果。

話不多說,下面分享我的教程。

進入正文

1、首先購買一臺Centos系統的服務器

推薦使用騰訊雲,網速快,性能穩定,客服處理問題及時,現在點這條鏈接就可以享受2折優惠:https://curl.qcloud.com/zjig4QkV【點擊底部閱讀原文直達】

2、安裝Git

對 Git 的版本沒啥要求,能 pull 就行。

yum -y install git

3、必須保證Ruby2.7版本以上,筆者安裝的低版本遭了不少麻煩

兩個方法安裝高版本Ruby:

(1)升級yum

# 升級yum:
Centos 5.X:
    rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x:
    rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X:
    rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    
    
# 安裝Ruby
yum -y install ruby

(2)手動下載ruby最新版,本地安裝

# 下載編譯
./configure
make
sudo make install

安裝完之後修改gem的源爲國內,不然很慢

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

4、安裝Jekyll

順帶指定下版本。

gem install jekyll -v 4.1.1

5、新建博客

jekyll new myblog
cd myblog

6、啓動博客

jekyll server

7、克隆已有博客

如果不想自己再搭建一套博客,推薦克隆別人做好的博客,修改使用。

比如我比較喜歡的簡潔風

git clone https://github.com/yous/whiteglass.git

8、安裝依賴

clone 到本地後需要安裝gem依賴,進入Gemfile文件所在目錄,Gemfile文件列好了所需要的gem依賴,你需要的就是執行它。但是有些Gemfile內規定了Jekyll的版本號,如果你本地安裝了其它版本的Jekyll,可能會產生衝突。解決方法一是卸載Jekyll,二是註釋掉Gemfile文件內安裝Jekyll的那一行代碼。

# 運行Gemfile
bundle install

#
 Gemfile文件一般包含如下依賴
gem install jekyll-paginate -v 1.1
gem install jekyll-sitemap -v 1.0
gem install jekyll-archives -v 2.1
grm install jekyll-feed -v 0.12

9、服務器後臺啓動

本地啓動不需要這麼多參數

# 本地啓動
jekyll server

#
 服務器後臺運行
jekyll server --host 0.0.0.0  --port 80 --detach

10、crontab定時任務

分享下我的Linux定時任務咋寫的:

# 十分鐘拉取一次
*/10 * * * * ~/blog/flush.sh  >> ~/blog/temp.log

flush.sh 更新腳本:

#!/bin/bash
cd ~/blog
echo "===GIT==="
git pull 
echo "===JEKYLL==="
/usr/local/bin/jekyll build
echo "===TIME==="
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "${time} ok"
echo " "

FAQ

如果你克隆的項目下有 Gemfile.lock 文件記得刪除,這個文件類似於版本號。



作者:薛師兄,互聯網從業者,編程愛好者。

本文首發自公衆號:程序員薛師兄(ID:onblog)

未經許可, 禁止轉載

本文分享自微信公衆號 - 代碼藝術(onblog)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章