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语法写文章;
- 高级用法主题配置也是必要,但需要更多开发知识,期望以后的文章跟大家分享
- 我的主页 http://tinyx.cc
Hexo快速部署教程的更多相关文章
- 【gitlab】gitlab快速部署教程
gitlab快速部署教程 部署环境 Ubuntu 16.04(亲测可用) 开始部署 安装依赖 sudo apt-get install curl openssh-server ca-certifica ...
- Hexo快速搭建静态博客并实现远程VPS自动部署
这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文件适合的条件: 简单的用于个人博客.公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能并不适 ...
- Serverless Web Function 实践教程(一):快速部署 Node.js Web 服务
作为目前广受欢迎的 Web 服务开发语言,Node.js 提供了众多支持 HTTP 场景的相关功能,可以说是为 Web 构建而生.因此,基于 Node.js,也诞生了多种 Web 服务框架,它们对 N ...
- Github+hexo+next搭建教程
今天参考的是大神的教程,学了一个新东西,但是可能由于原教程中运用的npm包与我当前使用的npm包版本不同的原因,有出过多处运行错误,但都在此教程中解决了; 总结了下命令: npm install he ...
- 2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈
本文转载于:奥怪的小栈 这篇文章告诉你如何在2019快速上手搭建一个像我一样的博客:基于HEXO+Github搭建.并完成SEO优化,打造一个炫酷博客. 本站基于HEXO+Github搭建.所以你需要 ...
- 使用coding和hexo快速搭建博客
欢迎访问我的个人博客皮皮猪:http://www.zhsh666.xyz 今天教大家怎么用hexo快速搭建自己的博客.我不是专业人士,不懂前端知识,所以我十分讨厌那些专业术语,讲了一大堆,对于技术小白 ...
- 专为设计师而写的GitHub快速入门教程
专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li 原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...
- Hexo - 快速,轻量,强大的 Node.js 博客框架
Hexo 是一个快速,轻量,强大的 Node.js 博客框架.带给你难以置信的编译速度,瞬间生成静态文件:支持 Markdown,甚至可以在 Hexo 中集合 Octopress 插件:只需要一个命令 ...
- 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
随机推荐
- 在ubuntu14.04上安装mono4.4 + jexus + mvc6
0.准备工作 在/usr下建立一个文件夹,方便管理源码 cd /usr mkdir opensource cd opensource 安装vim(文本编辑器,不习惯用vim可以换成其他的) apt-g ...
- 同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId
同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId >>>>>>>>>>>>>& ...
- 欢迎大家Follow me!微软MVP罗勇(Dynamics CRM方向)欢迎您!
我是一名八零后,来自湖南乡村,2002年毕业于大连大学工商管理专业,主要靠自学走上了编程之路.从2012年开始接触Dynamics CRM 2011,一直从事Dynamics CRM方面工作,熟悉Dy ...
- Java数据类型+练习
java基础数据类型: 四类八种: 1, 整数型 byte 2的8次方(取值范围--<-128~127>)--1个字节 short 2的16次方--2个 int 2的32次方- ...
- java第一课,java基础
Java: 是1991年SUN公司的James Gosling等人开发名称为Oak的语言,希望用于控制嵌入在有线电视交换盒,PDA等的微处理器.java.是面向互联网的语 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等
本节及后面的内容将会探索更加有意思的内容,更加逼近实际的使用的内容.我们本节内容不难,讲的是释放Ability时的信息传递: 第一步:创建一个GA称为GA_AOE_BlindVengeance,复仇忌 ...
- Linux服务器学习(一)
一.首先连接服务器 下载一个windows下连接linux的ssh工具,我这里用的putty.一次填入HostName(主机名,可以是服务器域名也可以是对应的ip).Port(端口号默认为22).Co ...
- Java Swing intro
Java Swing intro 如果有Android app开发经验,快速上手Swing不是问题.UI方面有相似的地方. 简单的几行代码就能抛出一个框框,记录一下操作过程 1.先显示一个框框 Era ...
- jmeter 接口重放(投票活动)
目的 这几天公司弄了个投票的活动,召集大家一起投票.自己比较懒,就想这个投票是不是可以直接抓包进行重放通过jmeter集成到jenkins里面去每天来跑.试了下成功了,这里把对应的方案抛出来. 第一步 ...
- Unity编辑器重写Inspector面板,面板中编辑的数据不触发场景发生变化的问题。
今天开始协助主程一起制作新框架.主程让我写关于新版UI框架注册UI预制体用的快捷编辑器. 现学现写,总算完成了. 可以直接把选中的预制体添加到UIController的数组中,期间涉及到改变大小.所以 ...