准备工作
在开始第二部分的部署前,你需要有如下准备:
github和gitee仓库- 静态网页开放仓库
[username].github.io和[username].gitee.io - 本地的
hexo-blog源码仓库 - 一个已经备案的域名
静态网页开放仓库配置
github上配置静态网页开放仓库
- 在
github官网上新建一个public仓库[username].github.io - 将新仓库地址的
ssh地址复制下来如:git@github.com:[username]/[username].github.io.git - 开启
pages服务
gitee上配置静态网页开放仓库
- 在
gitee官网上新建一个public仓库[username].gitee.io - 将新仓库地址的
ssh地址复制下来如:git@gitee.com:[username]/[username].gitee.io.git - 开启
pages服务
本地hexo-blog仓库的配置
打开hexo的_config.yml配置文件添加如下配置
此处的[username]替换成你的用户名,repo处的仓库地址必须使用ssh格式的。
xxx.xxx替换成你的域名或云服务器的IP地址,你的域名需能解析到自己的云服务器上。
1 | deploy: |
配置start和release命令
打开hexo的package.json文件添加如下配置
1 | "scripts": { |
更改pages服务为自己网站域名
在自己的域名下添加DNS解析
| 记录类型 | 主机记录 | 记录值 |
|---|---|---|
CNAME | blog | [uername].github.io或者[uername].gitee.io |
A | @ | xxx.xxx.xxx.xxx填自己云服务器的IP地址 |
A | www | xxx.xxx.xxx.xxx填自己云服务器的IP地址 |
在本地hexo-blog仓库中的source文件夹下新建一个文件CNAME。
这样做可以防止重新部署后CNAME文件丢失导致404的发生,CNAME文件配置如下:
1 | blog.xxx.xxx #xxx.xxx替换成你的域名 |
现在可以使用npm run release命令一键部署云服务器和github、gitee的pages上。
查看部署的blog.xxx.xxx、www.xxx.xxx、xxx.xxx网站。