爲何要搭建本身的博客系統?html
緣由有好幾個吧,歸類以下:
一、本身搭建博客系統頗有成就感,能夠本身選定頁面風格和頁面排版;node
二、本身搭建博客系統能夠根據本身的須要添加各類插件功能,所以總體上比網上的第三方博客網站更好;linux
三、hexo 支持 MarkDown 標記語法,咱們能夠很容易的上手,排版簡單明瞭;git
四、網上主流的第三方博客網站,不必定很符合你我的的風格,並且因爲網站要持續運營下去,所以在此過程當中會不可避免的接入廣告。固然這點咱們也要理解,要容許網站有盈利,這樣才能一直爲你們服務下去;github
五、第三方博客網站確定會有系統升級,所以會時有出現各類改版的狀況,你以前寫的博文可能不符合新版本,形成以前的博文排版變得奇醜無比,簡直使人崩潰「固然這種狀況不多」。還有就是若是改版後符合你的操做習慣那還好,若是不符合那你就有點方了。 npm
六、第三方博客網站有時會出現其餘問題。最多見的就是博客頁面改版「上一條說過」和圖片加載不出來的狀況等等。json
大概就是上述幾條吧,若是你還有其餘的緣由,歡迎你在文章底部留言!vim
說明:若是要把 hexo 生成的靜態文件對外提供訪問,那麼請使用 Nginx 完成。
Nginx的部分配置以下:api
server { listen 80; server_name www.zhangblog.com zhangblog.com 120.27.48.179; access_log logs/access.log main; location / { alias /app/softinsall/hexo/public/; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
機器系統:CentOS Linux release 7.5 IP地址:120.27.48.179
由於該博客本人會長期維護和支持下去,所以我是在阿里雲購買的機器。
<br/>瀏覽器
因爲這個博客系統是我之後常用而且持續維護,所以我在阿里雲購買了域名而且進行了備案。域名爲:zhangblog.com 。
並將域名 zhangblog 解析到了 120.27.48.179。
若是你只是我的測試使用,或者沒有本身的域名,那麼該項可省略。
<br/>
[root@zhangblog ~]# yum install -y git
具體使用處
一、後續在 hexo 安裝不一樣的主題時,會使用Git方式獲取這些主題;
二、將 hexo 與本身的 GitHub Pages 結合時。
<br/>
官網地址:
http://nodejs.cn/download/
爲了方便,咱們直接下載二進制版本。這樣就省去了編譯安裝步驟。
二進制安裝包下載
[root@zhangblog software]# pwd /app/software [root@zhangblog software]# wget https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0-linux-x64.tar.xz # 下載二進制安裝包
[root@zhangblog software]# pwd /app/software [root@zhangblog software]# tar xf node-v10.16.0-linux-x64.tar.xz [root@zhangblog software]# mv node-v10.16.0-linux-x64 /app/softinsall/ [root@zhangblog software]# cd /app/softinsall/ [root@zhangblog softinsall]# pwd /app/softinsall [root@zhangblog softinsall]# ln -s node-v10.16.0-linux-x64 nodejs [root@zhangblog softinsall]# ll total 4 lrwxrwxrwx 1 root root 23 Jun 4 15:59 nodejs -> node-v10.16.0-linux-x64 drwxrwxr-x 6 500 500 4096 May 29 05:36 node-v10.16.0-linux-x64
版本信息
[root@zhangblog bin]# pwd /app/softinsall/nodejs/bin [root@zhangblog bin]# ./node -v v10.16.0
建立軟鏈接
[root@zhangblog bin]# ln -s /app/softinsall/nodejs/bin/node /usr/local/bin/node [root@zhangblog bin]# ln -s /app/softinsall/nodejs/bin/npm /usr/local/bin/npm
若是熟悉 hexo 命令,那麼能夠忽略這一節。
hexo 操做命令官網
https://hexo.io/docs/commands
$ hexo init [folder]
初始化一個網站。若是沒有提供文件夾,Hexo將在當前目錄中建立網站。
$ hexo new [layout] <title>
建立新文章。若是沒有提供佈局,Hexo 將使用 _config.yml 中的 default_layout 項提供的佈局。
若是標題包含空格,用引號括起來。
$ hexo generate
簡寫:hexo g
生成靜態文件。
可選項
-d, --deploy
生成靜態文件完成後部署
$ hexo server
簡寫:hexo s
啓動本地服務器。
默認狀況下,這是在 http://localhost:4000/
可選項
-p, --port
使用端口,覆蓋默認端口
$ hexo deploy
簡寫:hexo d
部署你的網站。
可選項
-g, --generate
完成部署以前,生成靜態文件。
$ hexo clean
清除緩存文件(db.json)和生成的文件(public)。
使用新主題或想從新生成靜態文件時可以使用
$ hexo version
版本信息
[root@zhangblog hexo]# hexo version hexo: 3.8.0 hexo-cli: 2.0.0 os: Linux 3.10.0-862.14.4.el7.x86_64 linux x64 http_parser: 2.8.0 node: 10.16.0 v8: 6.8.275.32-node.52 uv: 1.28.0 zlib: 1.2.11 brotli: 1.0.7 ares: 1.15.0 modules: 64 nghttp2: 1.34.0 napi: 4 openssl: 1.1.1b icu: 64.2 unicode: 12.1 cldr: 35.1 tz: 2019a
<br/>
[root@zhangblog ~]# npm install hexo-cli -g # 安裝 hexo
將 hexo 命令添加到全局,採用軟鏈接方式。
[root@zhangblog bin]# pwd # hexo 命令所在目錄 /app/softinsall/nodejs/lib/node_modules/hexo-cli/bin [root@zhangblog bin]# ln -s /app/softinsall/nodejs/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo
<br/>
能夠放在和 nodejs 同層級的目錄。
[root@zhangblog softinsall]# pwd /app/softinsall [root@zhangblog softinsall]# mkdir hexo [root@zhangblog softinsall]# cd hexo/ [root@zhangblog hexo]# hexo init # 新建一個網站,默認在目前的文件夾創建網站。 [root@zhangblog hexo]# ll total 168 -rw-r--r-- 1 root root 1765 Jun 4 16:14 _config.yml drwxr-xr-x 285 root root 12288 Jun 4 16:15 node_modules -rw-r--r-- 1 root root 443 Jun 4 16:14 package.json -rw-r--r-- 1 root root 138442 Jun 4 16:15 package-lock.json drwxr-xr-x 2 root root 4096 Jun 4 16:14 scaffolds drwxr-xr-x 3 root root 4096 Jun 4 16:14 source drwxr-xr-x 3 root root 4096 Jun 4 16:14 themes [root@zhangblog hexo]# ll themes/ # 查看自帶的主題 total 4 drwxr-xr-x 6 root root 4096 Jun 4 16:14 landscape
[root@zhangblog hexo]# hexo g # 生成靜態文件 [root@zhangblog hexo]# ll total 200 -rw-r--r-- 1 root root 1765 Jun 4 16:14 _config.yml -rw-r--r-- 1 root root 25063 Jun 4 16:26 db.json drwxr-xr-x 285 root root 12288 Jun 4 16:15 node_modules -rw-r--r-- 1 root root 447 Jun 4 16:26 package.json -rw-r--r-- 1 root root 138442 Jun 4 16:15 package-lock.json drwxr-xr-x 7 root root 4096 Jun 4 16:26 public # 生成的靜態文件 drwxr-xr-x 2 root root 4096 Jun 4 16:14 scaffolds drwxr-xr-x 3 root root 4096 Jun 4 16:14 source drwxr-xr-x 3 root root 4096 Jun 4 16:14 themes [root@zhangblog hexo]# hexo s # 啓動服務,默認是 http://localhost:4000 INFO Start processing INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
[root@zhangblog ~]# netstat -lntup | grep 'hexo' tcp6 0 0 :::4000 :::* LISTEN 7072/hexo
http://www.zhangblog.com:4000/
<br/>
該主題是咱們之後長期使用的主題,後續的優化也是基於該主題進行。
因爲該主題風格和頁面排版都很好,所以推薦你們使用。
[root@zhangblog hexo]# pwd /app/softinsall/hexo # 注意當前的目錄, themes/next 指定存放的位置 [root@zhangblog hexo]# git clone https://github.com/theme-next/hexo-theme-next themes/next # 新地址,當前維護中【可是有些細節不如老版本的】 # 或者 ***** [root@zhangblog hexo]# git clone https://github.com/iissnan/hexo-theme-next themes/next # 老地址,沒有維護了「推薦使用」
next 主題在 GitHub 有兩個地址:
https://github.com/theme-next/hexo-theme-next # 新地址,當前維護中 https://github.com/iissnan/hexo-theme-next # 老地址,沒有維護了
[root@zhangblog hexo]# hexo clean # 清楚緩存和靜態文件目錄 [root@zhangblog hexo]# vim _config.yml # 修改該配置 ………… # Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: next ………… [root@zhangblog hexo]# hexo g # 生成靜態文件 [root@zhangblog hexo]# hexo s -p 80 # 啓動服務,指定端口
http://www.zhangblog.com/
[root@zhangblog hexo]# pwd /app/softinsall/hexo [root@zhangblog hexo]# hexo new 'MarkDown_Use_Guide' INFO Created: /app/softinsall/hexo/source/_posts/MarkDown_Use_Guide.md [root@zhangblog hexo]# cat source/_posts/MarkDown_Use_Guide.md # 系統生成內容以下 --- title: MarkDown_Use_Guide date: 2019-06-04 19:28:51 tags: ---
[root@zhangblog hexo]# pwd /app/softinsall/hexo [root@zhangblog hexo]# cat source/_posts/MarkDown_Use_Guide.md --- title: MarkDown 新手指南 date: 2019-06-04 19:28:51 tags: - MarkDown categories: - MarkDown --- # 標題 # 一級標題 ## 二級標題 ### 三級標題 #### 四級標題 ##### 五級標題 ###### 六級標題 --- # 列表 ## 無序列表 - 文本1 - 文本2 - 文本3 ## 有序列表 1. 文本1 2. 文本2 3. 文本3 --- # 連接、圖片和引用 ## 這是一個超鏈接 [lightzhang 我的博客](http://www.zhangblog.com/) ## 這是一個站外圖片連接 ![示例圖](https://www.cnblogs.com/images/logo_small.gif) ## 這是一個站內圖片連接 ![數字網絡](/uploads/weixin_pulic_small.jpg) ## 這個一個引用 > 寵辱不驚,看庭前花開花落;去留無心,望天上雲捲雲舒 --- # 粗體和斜體 從最開始的 *wordpress* ,到 *tale* ,到如今的**hexo**,網站變得愈來愈簡單,愈來愈輕量級,這裏主要說說**hexo**的使用。 --- # 代碼引用 ## 多行代碼 ··· 「備註:實踐中,請把前一行開頭的 · 改成 `」 #!/bin/bash ################ Version Info ################## # Create Date: 2018-09-29 # Author: Zhang # Mail: zhang@xxxx.com # Version: 1.0 # Attention: 腳本描述說明 ################################################ ··· 「備註:實踐中,請把前一行開頭的 · 改成 `」 ## 單行代碼 【只能一行】 ` /bin/sh echo "test" >> /dev/null ` --- # 表格 ## 書寫格式1 | Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | right-aligned | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 | ## 書寫格式2 dog | bird | cat ----|------|---- foo | foo | foo bar | bar | bar baz | baz | baz ## 書寫格式3 | 名稱 | 系統版本 | 內網IP | Hostname | |--|--|--|--| | salt100 | CentOS7.5 | 172.16.1.100 | 10.0.0.100 | | salt01 | CentOS7.5 | 172.16.1.11 | 10.0.0.11 | | salt02 | CentOS7.5 | 172.16.1.12 | 10.0.0.12 | | salt03 | CentOS7.5 | 172.16.1.13 | 10.0.0.13 | # 字體或圖片居中 <center> **讀萬卷書,行萬里路** </center> <center> ![數字網絡](/uploads/avatar_small.png) </center> ---
[root@zhangblog hexo]# pwd # 站點位置 /app/softinsall/hexo [root@zhangblog hexo]# ll source/uploads/ total 388 -rw-r--r-- 1 root root 131807 Apr 30 14:39 avatar.png -rw-r--r-- 1 root root 16602 Jun 7 17:39 avatar_small.png -rw-r--r-- 1 root root 209605 Jun 7 17:02 weixin_pulic.jpg -rw-r--r-- 1 root root 19296 Jun 11 14:55 weixin_pulic_small.jpg
[root@zhangblog hexo]# pwd /app/softinsall/hexo [root@zhangblog hexo]# hexo g # 生成靜態文件
http://www.zhangblog.com/ http://www.zhangblog.com/2019/06/04/MarkDown_Use_Guide/
<br/>
Linux下使用 github+hexo 搭建我的博客01-hexo搭建
Linux下使用 github+hexo 搭建我的博客02-hexo部署到Github Pages
Linux下使用 github+hexo 搭建我的博客03-hexo配置優化
Linux下使用 github+hexo 搭建我的博客04-next主題優化
Linux下使用 github+hexo 搭建我的博客05-next主題接入評論系統