一直有建立博客的需要,使用过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/

配置

  1. 以我的博客为例,txblog是博客根目录

    hexo init txblog(初始化文件结构)
    cd txblog
    npm install(安装依赖包,很重要)
  2. 成功后生成下面结构,很简单也很好理解

    .
    ├── _config.yml(配置文件)
    ├── package.json(基数node.js包信息文件)
    ├── scaffolds(脚手架,模板文件,用于生成页面或者文章时候用)
    |—— node_modules(包依赖模块,npm install后里面会添加依赖)
    ├── source(源文件)
    |   ├── _drafts(草稿)
    |   └── _posts(文章)
    └── themes(主题文件)
  3. 配置_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快速部署教程的更多相关文章

  1. 【gitlab】gitlab快速部署教程

    gitlab快速部署教程 部署环境 Ubuntu 16.04(亲测可用) 开始部署 安装依赖 sudo apt-get install curl openssh-server ca-certifica ...

  2. Hexo快速搭建静态博客并实现远程VPS自动部署

    这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文件适合的条件: 简单的用于个人博客.公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能并不适 ...

  3. Serverless Web Function 实践教程(一):快速部署 Node.js Web 服务

    作为目前广受欢迎的 Web 服务开发语言,Node.js 提供了众多支持 HTTP 场景的相关功能,可以说是为 Web 构建而生.因此,基于 Node.js,也诞生了多种 Web 服务框架,它们对 N ...

  4. Github+hexo+next搭建教程

    今天参考的是大神的教程,学了一个新东西,但是可能由于原教程中运用的npm包与我当前使用的npm包版本不同的原因,有出过多处运行错误,但都在此教程中解决了; 总结了下命令: npm install he ...

  5. 2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈

    本文转载于:奥怪的小栈 这篇文章告诉你如何在2019快速上手搭建一个像我一样的博客:基于HEXO+Github搭建.并完成SEO优化,打造一个炫酷博客. 本站基于HEXO+Github搭建.所以你需要 ...

  6. 使用coding和hexo快速搭建博客

    欢迎访问我的个人博客皮皮猪:http://www.zhsh666.xyz 今天教大家怎么用hexo快速搭建自己的博客.我不是专业人士,不懂前端知识,所以我十分讨厌那些专业术语,讲了一大堆,对于技术小白 ...

  7. 专为设计师而写的GitHub快速入门教程

    专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...

  8. Hexo - 快速,轻量,强大的 Node.js 博客框架

    Hexo 是一个快速,轻量,强大的 Node.js 博客框架.带给你难以置信的编译速度,瞬间生成静态文件:支持 Markdown,甚至可以在 Hexo 中集合 Octopress 插件:只需要一个命令 ...

  9. 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

随机推荐

  1. MySQL · 引擎特性 · InnoDB奔溃恢复

    前言 数据库系统与文件系统最大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的奔溃恢复机制来保证.本 ...

  2. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析

    QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:https://github.com/20100507/Qzone [没有加入多线程,希望你可以参与进 ...

  3. [信息安全] 3.HTTPS工作流程

    [信息安全]系列博客:http://www.cnblogs.com/linianhui/category/985957.html 0. 简单回顾 在前面两篇博客中介绍了密码相关的一些基本工具,包括(对 ...

  4. iOS开发中frame与bounds的区别

    闲话不多说,先上两张图,大伙们就已经明白了: 显示出来的效果是这样子滴:  总结: 要理清这两者的区别,最主要的要理解一下几个概念:frame可以理解为可视的范围,而bounds可以理解为可视范围内的 ...

  5. 【JS】ajax 实现无刷新文件上传

    一.摘要 最近在做个东西,需要实现页面无刷新文件上传,目前看到的方法有两种 1) 通过隐藏iframe 实现页面无刷新,适用于不关心上传结果 <form target="hiddenF ...

  6. DDD理论学习系列(12)-- 仓储

    DDD理论学习系列--案例及目录 1. 引言 DDD中Repository这个单词,主要有两种翻译:资源库和仓储,本文取仓储之译. 说到仓储,我们肯定就想到了仓库,仓库一般用来存放货物,而仓库一般由仓 ...

  7. HDU1124 Factorial

    Problem Description The most important part of a GSM network is so called Base Transceiver Station ( ...

  8. python-桶排序

    桶排序 通排序非常浪费空间, 比如需要排序的范围在0~2000之间, 需要排序的数是[3,9,4,2000], 同样需要2001个空间 注意: 通排序不能排序小数 以下为从小到大代码实现 #!/usr ...

  9. 利用python发送邮件

    找了很多使用python发送邮件的文章, 发现写的并不是太全, 导致坑特别多, 刚把这个坑跨过去, 在此记录下来 本代码使用163作为发送客户端, 接收邮箱随意 首先登录163邮箱, 开启POP3/S ...

  10. HDU-1495 非常可乐 (嵌套结构体-广搜 对比 一般广搜)

    题意 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多.但 ...