Linux下使用 github+hexo 搭建我的博客01-hexo搭建

爲何要搭建本身的博客系統?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/>

安裝 Git

[root@zhangblog ~]# yum install -y git

具體使用處
一、後續在 hexo 安裝不一樣的主題時,會使用Git方式獲取這些主題;
二、將 hexo 與本身的 GitHub Pages 結合時。
<br/>

node.js 安裝

nodejs 下載

官網地址:

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  # 下載二進制安裝包

nodejs 部署

[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 命令,那麼能夠忽略這一節。

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/>

hexo 部署

[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/>

部署 hexo 博客環境

部署 hexo

能夠放在和 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/>

更新 hexo 主題

獲取NexT主題

該主題是咱們之後長期使用的主題,後續的優化也是基於該主題進行。
因爲該主題風格和頁面排版都很好,所以推薦你們使用。

[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:
---

爲博客添加內容---- Markdown 新手指南

[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主題接入評論系統

Linux下使用 github+hexo 搭建我的博客06-next主題接入數據統計

Linux下使用 github+hexo 搭建我的博客07-next主題接入搜索和站點管理

相關文章
相關標籤/搜索