工具
本地端(windows工作平台)
- git
- node.js
云端(Centos阿里云)
- gogs
- nginx
安装hexo
hexo初始化及配置
初始化项目文件夹blog
1 2 3
| hexo init blog cd blog npm install
|
安装相应插件
1 2 3 4
| npm install hexo-deployer-git --save npm install hexo-generator-feed --save npm install hexo-generator-search --save npm install hexo-generator-sitemap --save
|
新建标签云、关于我、404页面
1 2 3
| hexo new page tags hexo new page about hexo new page 404
|
下载相应主题保存到/themes/文件夹中
修改站点和主题配置文件_config.yml
本地开启服务,查看博客(默认端口4000)
本地配置SSH keys
检查是否已经存在SSH keys
在Git Bash输入
创建SSH keys(已存在略过)
1
| ssh-keygen -t rsa -C "your_email@example.com"
|
复制公钥内容
1
| clip < ~/.ssh/id_rsa.pub
|
github上部署
创建项目
登录github,创建 用户名.github.io 的Public项目。
配置SSH密钥
把本地的公钥内容粘贴到Key框内
测试SSH密钥登录
如果通过,返回
1
| Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
|
云服务器上部署
创建项目
登录gogs,创建项目。
设置项目的Git钩子
设置Git钩子post-receive为(/home/wwwroot/blog为博客根目录)
1 2
| #!/bin/bash git --work-tree=/home/wwwroot/blog checkout -f
|
设置git用户对博客根目录权限
1
| chown -R git:git /home/wwwroot/blog
|
配置SSH密钥
把本地的公钥内容粘贴到密钥内容框内
测试SSH密钥登录
如果通过,返回
1
| Hi there, You've successfully authenticated, but Gogs does not provide shell access.
|
本地部署
修改站点配置文件_config.yml
1 2 3 4 5
| deploy: type: git repo: github: git@github.com:xxx/xxx.github.io.git gogs: git@git.xxxx.com:xxx/blog.git
|
执行生成及部署命令