緣由
coding
只能部署不超過134217728 字節大小的博客:Depot archive exceeded size limit 134217728 bytesgitee
無法自定義域名github
國內訪問略慢
因此我想將博客部署到我自己的騰訊雲主機中。
開始部署
我的主機配置信息如下:
操作系統 CentOS 7.6 64位
CPU 1 核
內存 2 GB
公網帶寬 1 Mbps
雲服務器端配置 git
- 安裝依賴庫:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
- 安裝編譯工具:
yum install gcc perl-ExtUtils-MakeMaker package
- 下載 git (下載到 /usr/local/src 目錄下):
cd /usr/local/src
wget http://ftp.ntu.edu.tw/software/scm/git/git-2.9.5.tar.gz
- 解壓到當前目錄
tar -zvxf git-2.9.5.tar.gz
- 編譯
cd git-2.9.5
make all prefix=/usr/local/git
- 安裝 git 到 /usr/local/git 目錄下
make install prefix=/usr/local/git
- 配置 git 環境變量
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
- 使 git 環境變量生效
source /etc/bashrc
- 驗證安裝完成
git --version
創建 git 倉庫
- 創建
hexo
的倉庫
git
倉庫用於存放博客網站資源。在 home/git
的目錄下,創建一個名爲hexo
的倉庫。
如果沒有 home/git
目錄,需要先創建,然後修改目錄的所有權和用戶權限。
mkdir /home/git/
chown -R $USER:$USER /home/git/
chmod -R 755 /home/git/
cd /home/git/
git init --bare hexo.git
- 創建
git hooks
在 /home/git/hexo.git
下,有一個自動生成的 hooks
文件夾,我們創建一個新的 git
鉤子 post-receive
,用於自動部署。
vim /home/git/hexo.git/hooks/post-receive
- 將以下代碼寫到
post-receive
#!/bin/bash
git --work-tree=/home/hexo --git-dir=/home/git/hexo.git checkout -f
- 修改文件權限,使得其可執行。
chmod +x /home/git/hexo.git/hooks/post-receive
配置 Nginx
- 如果沒有安裝Nginx就安裝並且啓動
yum install -y nginx
service nginx start
當然也可以使用寶塔面板安裝Nginx(過程不細說)
- 創建博客保存目錄hexo
mkdir /home/hexo/
chown -R $USER:$USER /home/hexo/
chmod -R 755 /home/hexo/
- 配置Nginx
- 添加站點
- 輸入域名(域名必須是備案了)
- 選擇站點根目錄
/home/hexo/
- 配置https
如果需要https,則需要在寶塔面板添加域名的證書。
修改hexo站點配置文件
- 打開hexo站點配置文件
_config.yml
(不是主題配置文件) - 修改
deploy:
- type: git
repo: root@你主機的域名:/home/git/hexo
branch: master
- 開始部署
hexo clean
hexo generate
hexo deploy