天天看點

使用Hexo搭建個人部落格(二)本文說明:本地環境配置伺服器配置本地配置_config.yml測試總結&期望參考

本文說明:

本文是使用Hexo搭建個人部落格系列的第二篇,主要包括

  • 本地安裝hexo
  • 伺服器配置
  • 把個人部落格部署到伺服器

關于購買VPS和注冊域名,解析域名到IP請看:Hexo搭建個人部落格(一)

接下來讓我們一步步把部落格給搭建起來,跟着這篇部落格做,最終就可以把部落格部署到伺服器上,并且運作起來~

本地環境配置

安裝依賴環境

安裝Hexo需要先安裝node.js和git

  • 下載下傳Node.js : Node.js下載下傳位址
  • 下載下傳Git: Git下載下傳位址

安裝Hexo

隻需要一行指令:

$ npm install hexo-cli -g
           

例如我的部落格目錄是 /MyBlog

通過指令

cd /MyBlog
           

切換到部落格目錄

然後在部落格目錄下初始化hexo部落格,blog為部落格名,可随意更改

hexo init blog  
           

進入部落格目錄并安裝插件依賴

cd blog
npm install
           

最後執行指令

hexo g
hexo s 
           

順利的話,應該能看到終端列印出位址:http://localhost:4000/

點選位址打開浏覽器,應該能看到Hexo預設主題的界面了~當然,我的主題已經換了,是以打開是這樣的:

使用Hexo搭建個人部落格(二)本文說明:本地環境配置伺服器配置本地配置_config.yml測試總結&期望參考

安裝部署依賴環境

部署Hexo使用

hexo deploy
           

指令即可,但是在這之前,需要先安裝依賴環境server和deploy-git

在終端輸入:

$ npm install hexo-server --save  #
$ npm install hexo-deployer-git --save
           

至此,本地環境就搭建好了,除了這個,我們還需要搭建伺服器的環境,是以接下來就是伺服器的配置。

伺服器配置

安裝Git和NodeJS

隻需要兩行指令

$ yum install git  # 安裝git

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -   # 安裝NodeJS
           

建立Git使用者

為了能讓Hexo直接部署到VPS上,需要在伺服器建立使用者git
  • 步驟:
adduser git    # 添加git使用者
sudo passwd git  # 給git使用者設定密碼  
chmod  /etc/sudoers  
vim /etc/sudoers  
           

然後找到這一行

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
           

并添加

接下來我們需要把電腦的公鑰配置到伺服器,這樣才能向伺服器送出代碼

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
#然後在本地執行 cat ~/.ssh/id_rsa.pub | pbcopy ,将公鑰複制粘貼到authorized_keys
chmod  ~/.ssh/authorzied_keys
chmod  ~/.ssh
           

OK,到這裡,我們就把伺服器git使用者給配置完了,可以通過指令

來測試一下,是不是可以免密碼登陸到伺服器,如果可以,那就說明沒問題了。

安裝和配置Nginx

安裝Nginx

由于我的vps上運作的是CentOS 6 的系統,直接安裝Nginx會報錯,解決方法請參考這篇部落格:CentOS 6 安裝Nginx

CentOS 7 可以直接執行指令:

$ sudo yum install epel-release
$ sudo yum install nginx   
           

然後再啟動Nginx:

sudo systemctl start nginx
           

CentOS 6 啟動Nginx的指令應該是:

/etc/init.d/nginx start
           

這個時候在浏覽器輸入伺服器ip位址或者域名,就能看到Nginx歡迎頁。

配置Nginx

  • 在 /etc/nginx/conf.d/ 建立虛拟主機配置檔案 blog.conf

加入以下内容:

  • server_name: 改成你的伺服器名字,或者域名
  • root: 改成你的部落格根目錄
server
{
    listen ;
    #listen [::]:80;
    server_name  bluelzy.com www.bluelzy.com;
    index index.html index.htm index.php default.html default.htm default.php;
    #這裡要改成網站的根目錄
    root  /var/www/hexo;  

    include other.conf;
}
           

然後再重新開機一下Nginx,即可

service nginx restart
           

建立Git倉庫

既然本地環境配好了,伺服器所需要的環境也配好了,那麼現在就需要在伺服器建一個倉庫,用來管理部落格的代碼,這一塊比較重要,關乎到能不能成功部署部落格。

其實就是兩步:

  • 建立倉庫
  • 設定git hook

建立倉庫

執行以下指令:

$ cd ~ 
$ mkdir blog.git && cd blog.git
$ git init --bare
           

解釋一下這一行:

git init --bare
           

意思是初始化一個裸倉庫,建立一個裸倉庫,并且這個倉庫是可以被正常 clone 和 push 更新的, 裸倉庫不包含工作區,是以并不會存在在裸倉庫上直接送出變更的情況。

設定git hook

我們使用 post-receive這個鈎子.在 ~/blog.git 裸庫的 hooks檔案夾中,

建立post-receive檔案。

vim ~/blog.git/hooks/post-receive
           

在檔案中加入:

#!/bin/sh
git --work-tree=/var/www/hexo --git-dir=~/blog.git checkout -f
           

注意: –work-tree=/var/www/hexo 要改成你的部落格根目錄,也就是上面Nginx配置檔案中的root

儲存退出(wq)

然後再賦予這個檔案運作的權限

chmod +x post-receive
           

OK,到這一步,伺服器的配置也已經全部完成了。

恭喜你,如果能按着部落格一步步看到這裡,并且一切正常,那麼你離成功搭建一個部落格,還差最後一步….

本地配置_config.yml

打開Hexo站點目錄下的_config.yml檔案,找到 deploy關鍵字

deploy:
    type: git
    repo: [email protected]:/home/git/blog.git    // 倉庫位址
    branch: master      
    message: 送出的資訊     
           

把SERVER改成你的伺服器位址,然後儲存檔案,大功告成!

測試

我們使用

hexo clean
hexo g
hexo d
           

把Hexo從本地部署到伺服器上,執行完之後,在浏覽器通路你的伺服器位址,應該就能看到部落格首頁了。

以後寫好文章,再執行上面這三句指令,就可以實作自動化部署了,真是人生一大樂事(捂嘴)

總結&期望

這篇文章從本地環境到伺服器環境,再到自動化部署都作了一個詳細的說明,從無到有搭建起了一個個人部落格。接下來我會結合自己的部落格,介紹一下

  • 主題選擇
  • 主題配置
  • 第三方服務

參考

  • 從 0 開始搭建 hexo 部落格
  • 阿裡雲VPS搭建自己的的Hexo部落格
  • 開始新的折騰,Hexo部落格Git-VPS部署完整記錄

繼續閱讀