Hexo快速部署教程
一直有建立博客的需要,使用过Wordpress动态博客,一直访问速度比较慢,刚开始以为是空间域名的解析的问题,尝试使用Hexo静态博客,部署后感觉速度正常很多,特意发文快速部署教程
准备
本文是在windows环境下配置
-
Node.js:到这里下载安装:https://nodejs.org/en/
安装后运行node -v
如果有版本信息就可以
-
Git运行环境:https://git-for-windows.github.io/
安装成功后输入git能显示信息表示成功 -
Hexo:hexo采用node.js开发的博客框架,它以npm包方式提供安装:
npm install -g hexo-cli
完毕后运行 hexo,提示如下即可:
- 虚拟空间(自己申请的虚拟主机)或者github帐户(其他git托管也行,这里用github来做例子),没有在这里注册:https://github.com/
配置
- 以我的博客为例,txblog是博客根目录
hexo init txblog(初始化文件结构)
cd txblog
npm install(安装依赖包,很重要)
- 成功后生成下面结构,很简单也很好理解
.
├── _config.yml(配置文件)
├── package.json(基数node.js包信息文件)
├── scaffolds(脚手架,模板文件,用于生成页面或者文章时候用)
|—— node_modules(包依赖模块,npm install后里面会添加依赖)
├── source(源文件)
| ├── _drafts(草稿)
| └── _posts(文章)
└── themes(主题文件)
- 配置_config.yml
以我的博客为例,注意冒号和值之间一定要有空格,否则会出错。
-
Site
- title:valenhua的专栏
- subtitle:Android移动开发,产品设计和IT从业分享
- description:暂时不填
- author:Valen Hua
- language: zh-cn(参照 2-lettter ISO-639-1 code 填写)
- timezone:Asia/Shanghai(参照:time_zones 填写)
-
URL
- url:网站地址: http://tinyx.cc
- root:网站根目录一般填写/,如果文件子目录如blog下填:/blog
- permalink:固定连接配置:通过hexo提供变量配置,具体如下:我这里配置成分类和文件名加html后缀的静态文件形式 category/:title.html
- permalink_defaults:变量的默认值
-
theme: 配置主题,根据下载回来的主题配置名称就可以 https://hexo.io/themes/
详细参数请参见文档:https://hexo.io/zh-cn/docs/permalinks.html
设置好后基本就可以运行,更详细设置可以参考文档,运行开启服务:
hexo server
浏览器输入:http://localhost:4000/ 即可以本地访问博客
写作
新建文章,使用hexo new命令,默认使用post模板(scaffolds)
hexo new "hexo-setup"
成功后在source_posts\下面生成hexo-setup.md文件,然后使用markdown编辑器写文章就可以了
发布
文章写好后就可以发布,下面虚拟空间和github两种部署作解析
发布到github Pages服务
-
登陆注册的github,新建仓库
输入仓库名:valensoft.github.io
valensoft是你的github帐户名,固定格式
github.io:Github Pages服务,也是固定格式
-
配置github帐户信息
git config --global user.name yourname //配置用户名
git config --global user.email youremail //邮件地址
- 创建SSH密钥
github提供普通http和ssh协议操作,ssh操作更方便,不用每次输入用户名和密码,另外协议更安全便捷
运行
gitbash
进入gitbash环境(我在windows下面试过貌似无法生成.ssh目录,有遇到同样情况告诉下)
ssh-keygen -t rsa -C "youremail@mail.com"
提示输入密码,默认空白按2次回车就可以,.ssh下面生成ssh相关文件
-
部署SSH密钥
.ssh下面生成id_rsa.pub文件的内容拷贝到SSH keys节key下面,title自己随便起
-
验证SSH密钥
ssh -T git@github.com
第一提示是否继续按回车就可以,成功的信息
-
配置_config.yml
找到deploy部分按下面填写就可以(可以多方式部署,下面会讲到)
deploy:
type: git
repo: https://github.com/username/username.github.io.git
branch: master
完成后依次执行下面语句就可以
hexo clean
hexo generate
hexo deploy
也可以用一条语句生成并发布
hexo g --deploy
发布到虚拟空间
我主要采用这种方式,因为我自己有虚拟空间和域名;配置-config.yml就可以,直接上图,支持多类型部署,type前面加“-”和空格,详细参考:https://hexo.io/zh-cn/docs/deployment.html
域名绑定
在域名服务商购买域名,tinyx.cc
-
绑定到github:主要是获得ip地址,ping下github:
ping valensoft.github.io
-
绑定到虚拟空间:从虚拟空间服务商取得ip地址就可以
-
最后设置DNS解析:添加一条A记录指向你的IP地址
总结
- hexo搭建非常简单方便,最好要有git和node.js概念和基础知识;
- _config.yml配置很关键;
- 熟悉markdown语法写文章;
- 高级用法主题配置也是必要,但需要更多开发知识,期望以后的文章跟大家分享