本篇內容用來講述如何將 hexo 博客部署到騰訊雲的服務器上。
只要通過三步即可成功部署:
- 雲服務器端 git 的配置
- Nginx 的配置
- 本地端 hexo 的設置更改
下面開始正式講解如何部署。
前期需要準備:
- 一個騰訊雲服務器
- hexo 本地博客
順便說下我的服務器環境:
操作系統 | CPU | 內存 | 帶寬 |
---|---|---|---|
CentOS 7.2 64位 | 1核 | 2GB | 1Mbps |
1. 進入雲服務器中
- 首先點擊下邊網站,登錄你的進入雲服務器的控制檯
騰訊雲服務器的控制檯:https://console.cloud.tencent.com/cvm/index
- 左邊菜單選擇雲主機,然後找到你的服務器。點擊登錄
- 輸入密碼,進入 雲服務器 CentOS中。(初始密碼在控制檯右上角的消息列表中)
2. 雲服務器端配置 git
- 安裝依賴庫和編譯工具
- 安裝依賴庫:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
- 安裝編譯工具:
yum install gcc perl-ExtUtils-MakeMaker package
- 下載 git
- 選擇一個目錄來存放下載下來的 git 安裝包。這裏選擇了
/usr/local/src
目錄
cd /usr/local/src
- 到官網找一個新版穩定的源碼包下載到
/usr/local/src
文件夾裏
wget https://www.kernel.org/pub/software/scm/git/git-2.16.2.tar.gz
- 選擇一個目錄來存放下載下來的 git 安裝包。這裏選擇了
- 解壓編譯 git
- 在當前目錄下解壓
git-2.16.2.tar.gz
tar -zvxf git-2.16.2.tar.gz
- 進入
git-2.16.2.tar.gz
目錄下
cd git-2.16.2
- 執行編譯
make all prefix=/usr/local/git
- 安裝 git 到
/usr/local/git
目錄下
make install prefix=/usr/local/git
- 在當前目錄下解壓
- 配置 git 環境變量
- 將 git 加入 PATH 目錄中
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
- 使 git 環境變量生效
source /etc/bashrc
- 查看 git 版本
git --version
如果此時能查看到 git 的版本號,說明我們已經安裝成功了。
- 創建 git 倉庫,用於存放博客網站資源。
- 在
home/git
的目錄下,創建一個名爲hexoBlog
的裸倉庫(bare repo)。
如果沒有home/git
目錄,需要先創建;然後修改目錄的所有權和用戶權限。
mkdir /home/git/
chown -R $USER:$USER /home/git/
chmod -R 755 /home/git/
然後,執行如下命令:
cd /home/git/
git init --bare hexoBlog.git
剛纔這一步主要創建一個裸的 git 倉庫。
- 創建一個新的 git 鉤子,用於自動部署。
- 在
/home/git/hexoBlog.git
下,有一個自動生成的hooks
文件夾。我們需要在裏邊新建一個新的鉤子文件post-receive
。
vim /home/git/hexoBlog.git/hooks/post-receive
- 按
i
鍵進入文件的編輯模式,在該文件中添加兩行代碼(將下邊的代碼粘貼進去),指定 Git 的工作樹(源代碼)和 Git 目錄(配置文件等)。
#!/bin/bash git --work-tree=/home/hexoBlog --git-dir=/home/git/hexoBlog.git checkout -f
Esc
鍵退出編輯模式,輸入:wq
保存退出。- 修改文件權限,使得其可執行。
chmod +x /home/git/hexoBlog.git/hooks/post-receive
- 在
到這裏,我們的 git 倉庫算是完全搭建好了。下面進行 Nginx 的配置。
3. 雲服務器端配置 Nginx
- 安裝 Nginx
yum install -y nginx
- 啓動 Nginx
service nginx start
- 測試 Nginx 服務器
wget http://127.0.0.1
能夠正常獲取以下歡迎頁面說明Nginx安裝成功。
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 43704 (43K) [text/html]
Saving to: ‘index.html’
100%[=======================================>] 43,704 --.-K/s in 0s
2018-03-09 23:04:09 (487 MB/s) - ‘index.html’ saved [43704/43704]
-
測試網頁是否能打開
在瀏覽器中輸入服務器 ip 地址,就是服務器的公網 ip。 -
配置 Nginx 託管文件目錄
- 接下來,創建
/home/hexoBlog
目錄,用於 Nginx 託管。
mkdir /home/hexoBlog/ chown -R $USER:$USER /home/hexoBlog/ chmod -R 755 /home/hexoBlog/
- 查看 Nginx 的默認配置的安裝位置
nginx -t
- 修改Nginx的默認配置,其中 cd 後邊就是剛纔查到的安裝位置(每個人可能都不一樣)
vim /etc/nginx/nginx.conf
- 按方向鍵,找到如下位置
server { listen 80 default_server; listen [::]:80 default_server; root /home/hexoBlog; #需要修改 server_name www.bujige.net; #需要修改 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { }
按
i
鍵進入插入模式,將其中的 root 值改爲/home/hexoBlog
(剛纔創建的託管倉庫目錄)。
將 server_name 值改成你的域名。- 重啓 Nginx 服務
service nginx restart
- 接下來,創建
至此,服務器端配置就結束了。接下來,就剩下本地 hexo 的配置更改了。
4. 修改 hexo 站點配置文件 git 相關設置
- 打開你本地的 hexo 博客所在文件,打開站點配置文件(不是主題配置文件),做以下修改。
deploy:
type: git
repo: root@CVM 你的雲服務器的IP地址:/home/git/hexoBlog
branch: master
- 在 hexo 目錄下執行部署,試試看。
cd 你的 hexo 目錄
hexo clean
hexo generate
hexo deploy
- 打開你的公網 IP,看是不是已經部署成功了。
- 最後一步,更改域名解析。這一步不再做介紹。
參考資料: