缘由
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