搭建基于Hexo+Git+Nginx的静态博客平台

综述

  • 使用Hexo编写/调试基于Markdown的博客,并负责生成静态文件
  • 在云主机上搭建Git环境,实现本地hexo博客到云主机的自动部署
  • Nginx用做静态文件服务器,实现外界对博客的访问

环境

  • Mac pro book – macOS Sierra + iTerm2
  • 阿里云 ECS – CentOS 7 64bit

前提

确认本地已安装Hexo

安装篇

登录阿里云ECS

安装node, git, nginx

安装node

配置篇

增加git用户并赋予权限

按下’i’开始编辑模式,找到’root ALL=(ALL) ALL’,在它后面加上一行’git ALL=(ALL) ALL’,’esc’退出编辑,’:wq!’保存编辑,如下图

输入并确认git密码

添加密钥给git用户

在iTerm2打开另一个tab,运行如下命令获取rsa密钥串

回到阿里云ssh tab,粘贴密钥串到authorized_keys文件并保存

创建应用目录和Nginx配置

多次按exit退出root账号,然后以git账号ssh重新登录ECS,如下

找到server配置块,主要配置listen, server_name, root三个字段。listen是端口,这里由于80端口被其它应用占用,所以使用8000端口,server_name是域名,这里先不考虑,root是应用所在目录,这里是/var/www/hexo,如上所创建的文件夹,如下图

创建git工程和git-hooks实现自动部署

增加如下两行,让hooks找到repo和work路径,如下图

部署篇

本地自动部署配置和实现

Hexo git部署参考官方文档,首先安装hexo git deploy插件

到hexo所在目录,打开_config.yml配置文件,找到deploy部分,添加如下几行配置,如下图

生成静态文件并部署到阿里云ECS。hexo g -d用于生成静态文件,并根据deploy配置自动部署到环境。如果遇到permission问题,加上sudo。

部署过程如下图

部署成功后可以在ECS上查看到如下文件

启动/停止Nginx服务器

完成上述步骤,即可使用浏览器(http://<your_ip>:8000)访问博客

参考: http://blog.csdn.net/fjinhao/article/details/77096951

搭建基于Hexo+Git+Nginx的静态博客平台