背景
一直以来,我都把博客托管在GitHub Pages上,虽然简单方便,但国内访问速度不理想,尤其是图片经常加载不出来,体验非常糟糕。于是,我决定把博客部署到自己的服务器上,不仅能大幅提升访问速度,还能根据自己的喜好调整页面风格。经过对比,我最终选择了Hexo这个静态博客框架,再加上腾讯云的轻量应用服务器,性价比和稳定性都不错。
一、环境准备
1.1 相关信息
- 电脑信息: Apple M1 Pro
- 服务器信息: 腾讯云轻量应用服务器
- 操作系统: CentOS 7.6 64bit
二、服务端操作
2.1 安装Git和Nginx
1 2
| sudo apt update sudo apt install git nginx -y
|
2.2 创建Git用户
1 2 3 4 5 6 7 8 9 10 11 12 13
| sudo adduser git
sudo passwd git
sudo chmod 740 /etc/sudoers sudo vim /etc/sudoers
git ALL=(ALL) ALL
sudo chmod 400 /etc/sudoers
|
2.3 添加SSH密钥
1 2 3 4 5 6 7 8 9 10
| su git
mkdir -p ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
|
2.4 创建Git仓库并实现自动部署
1 2 3 4 5 6 7 8 9 10 11
| sudo mkdir -p /var/repo
sudo mkdir -p /var/www/hexo
cd /var/repo/ sudo git init --bare blog.git
sudo vim /var/repo/blog.git/hooks/post-update
|
post-update文件内容:
1 2
| #!/bin/bash git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
|
1 2 3 4 5
| sudo chmod +x /var/repo/blog.git/hooks/post-update
sudo chown -R git:git /var/repo /var/www/hexo
|
2.5 配置Nginx
1 2 3
| cd /etc/nginx/conf.d/ sudo vim blog.conf
|
blog.conf文件内容:
1 2 3 4 5 6
| server { listen 80; server_name yourdomain.com; root /var/www/hexo; index index.html; }
|
1 2 3 4
| sudo nginx -t sudo systemctl start nginx sudo systemctl status nginx
|
2.6 修改Git用户Shell环境
三、本地配置(Mac)
3.1 安装Git
使用Xcode命令行工具安装git
1 2
| xcode-select --install git --version
|
3.2 安装Node.js和npm
使用Homebrew安装:
3.3 安装Hexo及相关插件
1
| sudo npm install hexo-cli hexo-server hexo-deployer-git -g
|
3.4 本地初始化博客站点
1 2 3
| hexo init ~/blog cd ~/blog npm install
|
3.5 配置Hexo的部署信息
修改_config.yml文件:
1 2 3 4
| deploy: type: git repo: git@yourserver:/var/repo/blog.git branch: master
|
3.6 部署Hexo到服务器
1 2 3
| hexo clean hexo generate hexo deploy
|
四、测试
在浏览器中输入服务器的IP地址或域名,测试博客是否正常访问。