利用基於Go Lang的Hugo配合nginx來打造屬於自己的純靜態博客系統

原文轉載自「劉悅的技術博客」https://v3u.cn/a_id_81

Go lang無疑是目前的當紅炸子雞,極大地提高了後端編程的效率,同時有着極高的性能。藉助Go語言我們 可以用同步的方式寫出高併發的服務端軟件,同時,Go語言也是雲原生第一語言,Docker,Kubernetes等等著名的項目都是使用Go語言實現的。

Hugo 是基於 Go 語言的靜態網站生成器。

什麼是靜態網站生成器?顧名思義,就是以最快的速度生成一個高可用的web頁面,我們知道Django作爲一款非常流行的框架被廣泛應用,但是部署起來實在是太麻煩了,各種命令各種配置,動態頁面必然要涉及數據庫的配置和操作,另外只要涉及數據庫操作,你就不得不考慮sql注入等一系列的安全因素。而純靜態頁面則沒有這個煩惱,如果我們只需要一個簡單的站點,一些簡單的功能和頁面,比如博客,我們只想以極簡的方式用markdown語法寫下文字或者代碼,讓服務器訪問純靜態頁面,這就是靜態網站生成器可以提供給我們的好處。

爲啥選擇Hugo?

Hugo是一種go語言編寫的靜態網站生成器。適用於搭建個人blog、公司主頁、help等網站,是一種小型的CMS系統。靜態站點的好處就是快速、安全、易於部署,方便管理。

Hugo的優點包含但不限於:

得益於Go的高性能,性能很快
世界上最快的靜態網站生成工具,5秒生成6000個頁面
文檔爲Markdown格式,語法超簡單
Hugo 可以做靜態文件生成工具,還是高性能web 服務;
豐富的站點遷移工具,可以將wordpress,Ghost,Jekyll,DokuWiki,Blogger輕鬆遷移至 Hugo
超詳細的文檔
活躍的社區
更加自由的內容組織方式
豐富的主題模板,可以讓你的網站更加炫目多彩

多環境支持:macos ,linux,windows

首先,可以去go的官網網站下載安裝包https://golang.org/dl/ 然後直接雙擊安裝即可,不需要配置環境變量,因爲安裝過程自動配置,安裝完畢後,打開命令行,輸入

go version

顯示主版本號即表示安裝成功

然後,可以進行hugo的在線源碼編譯安裝,打開命令行,輸入下面的命令

go get -u -v github.com/spf13/hugo
go build -o hugo main.go
mv hugo $GOPATH/bin

如果你不想在線編譯安裝,也可以去hugo的官網https://github.com/gohugoio/hugo/releases下載穩定版的壓縮包,解壓之後配置一下環境變量也可以

裝完以後,在命令行內輸入

hugo version

打印出版本號即表示hugo安裝成功

在命令行中輸入命令

hugo new site hugo_blog

就生成了一個名字爲hugo_blog的新站點,可以感受到速度非常快,和vue.js創建新站點的速度比起來簡直天差地別

打開配置文件config.toml,這是hugo的站點的相關配置,可以進行一些個性化的定製,改爲下面這樣:

baseURL = "/"
languageCode = "en-us"
title = "我的博客"
#指定主題
theme = "hyde"

[params]
#博客簡介
description = "這裏是劉悅的個人博客"
#博客主題顏色
themeColor = "theme-base-08"

可以看到我們制定了一個主題hyde,添加了Theme後的站點纔有血有肉,豐富多彩。

更多的主題可以在這個上面下載,都是免費而開源的:https://themes.gohugo.io/

進入到站點內的themes目錄,輸入命令下載hyde主題,hugo有很多漂亮的主題可以選擇

git clone https://github.com/spf13/hyde.git

結構和樣式有了,我們還沒有內容。我們來創建站點的第一篇文章

輸入命令

hugo new one.md

hugo在content下創建one.md文件,我們編寫一些文件內容:

---
date: "2019-05-23"
title: "第一篇文章"
---

### 你好啊

123123123


print(‘hello world’)


然後在命令行中輸入

hugo server

來熱啓動項目

可以看到已經在1313端口起了一個hugo服務

訪問一下

至此,非常快速而簡單博客已經做好了,那麼如何部署到線上呢?非常簡單輸入命令進行打包操作:

hugo --baseUrl="/"

hugo就會把你的站點生成純靜態頁面,然後打包到public文件夾

將public上傳到阿里雲服務器的root目錄下

修改nginx配置文件

vim /etc/nginx/conf.d/default.conf

監聽80端口,並且項目目錄指定/root/public

server {
    listen       80;
    server_name  localhost;

    access_log      /root/md_vue_access.log;
    error_log       /root/md_vue_error.log;


    client_max_body_size 75M;


    location / {

        root /root/public;
        index index.html;

    }
    
    error_log    /root/md_vue/error.log    error;

}

重啓nginx systemctl restart nginx.service 然後訪問一下

得益於hugo的快速而高效,三分鐘之內你就擁有了一個純靜態的個人博客

原文轉載自「劉悅的技術博客」 https://v3u.cn/a_id_81

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