部署 Hexo 博客到 VPS

创建 Hexo 项目

安装 Hexo 依赖

首先你需要安装以下应用程序官方教程

  • Node.js (Node.js 版本需不低于 8.10,建议使用 Node.js 10.0 及以上版本)
  • Git

在 Mac 上安装软件,通常使用 Homebrew,安装命令如下:

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装 Hexo

使用 npm 安装 Hexo

1
npm install -g hexo-cli

然后执行如下代码查看 Hexo 版本

1
hexo -v

创建 Hexo 项目

首先创建一个 Hexo 项目

1
2
3
hexo init <folder>
cd <folder>
npm install

关于 Hexo 的使用大家可以查看官方文档

配置 VPS

我这里使用的是阿里云服务器,使用 root 用户登录。

Nginx

安装 Nginx

1
2
apt-get update
apt-get install nginx

配置 Nginx

/root/blog 用于存放网站的静态文件

1
mkdir /root/blog

创建 blog 的 Nginx 配置

1
vi /etc/nginx/conf.d/blog.conf

配置 80 端口及博客路径

1
2
3
4
server {
listen 80;
root /root/blog;
}

如果后续发现部署完毕后通过 80 端口访问一直显示 Nginx 欢迎页面, 通过设置 /etc/nginx/sites-enables/default 的配置,把默认的 Nginx 欢迎页面调整到其他端口就行了

重启 Nginx

1
sudo service nginx restart

Git Hooks

安装 Git

1
apt-get install git-core

创建 Git 库

创建一个 git 的仓库,博客静态文件将通过 Hexo 部署 push 到此 git 库当中

1
2
3
mkdir /root/blog.git
cd /root/blog.git
git init --bare

Hooks 监听代码提交

1
2
3
vim /root/blog.git/hooks/post-receive
# 打开可执行权限
chmod +x /root/blog.git/hooks/post-receive

脚本仅仅把 /root/blog 替换为 git 库中的内容

1
2
3
4
#!/bin/bash

rm -rf /root/blog
git clone /root/blog.git /root/blog

部署及更新 blog

配置 _config.yml 文件

1
2
3
4
5
6
7
8
.
.
.
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: 'git'
repo: root@80.23.43.19:blog.git

部署

1
hexo deploy

等待部署完毕,输入的你的 ip 地址或域名就能看见 Hexo 为你生成的静态博客了。