前面写了一篇文章“为什么写博客?”,梳理了自己写博客的动机和目的,而这篇文章主要将自己搭建博客的过程记录下来。

在我搭建这个博客之前,我有时会在QQ空间上写日志,但QQ空间的分享只限在QQ空间好友之间,偶尔也发微博,但微博所能承载的信息非常有限,也尝试过在CSDN写博客,但自主控制权非常有限,也特意在本地电脑上搭建WordPress博客系统,但WordPress是动态网页部署的条件比较苛刻,而且也很臃肿,我只是想简单地写博客而已,不想搞得那么复杂,总之这些方式都有这样那样的局限性,都不能让自己完全掌控自己的博客。

我的经历大致上正如阮一峰在《搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门》中提到的喜欢写Blog的人会经历三个阶段:

第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。
第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。

机缘巧合下读到了CnFeat的一篇文章《如何搭建一个独立博客——简明Github Pages与Hexo教程》。感谢CnFeat这篇教程让我知道了一个很酷的Hexo。基于hexo+Github Pages构建的博客系统正好可以满足我的需求,几乎100%的控制权,让Github Pages来托管博客网站,自己专注于写文章。

Hexo是啥玩意?

Hexo就是一个用来生成静态博客网站的一个工具

A fast, simple & powerful blog framework
快速、简洁且高效的博客框架

Githut pages又是啥玩意?

Githut pages可以用来向全世界展示你的博客网站的地方

Websites for you and your projects.
一个服务于你或你的项目的网站

上面提到CnFeat搭建独立博客的教程很长很全面,但其实有些步骤并不一定需要立刻要做,放在一起做让人感觉很复杂让人望而生畏,下面是我在win 7上基于hexo+githut pages搭建博客最基本的几个必要步骤:

搭建博客

Hexo的安装和使用依赖两个工具Node.js和 Git :

安装hexo的依赖工具

  • Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications.
    Node.js是一个基于Chrome的JavaScript运行时的构建快速稳定网络应用的平台
    适合Windowds系统64位版本的 Node.js下载
  • Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
    Git是一个免费开源的分布式版本控制系统,为快速有效地管理各种大大小小项目的源码而生
    适合Windowds系统的Git下载

可用下面两个命令验证这两个工具是否安装好,如果OK再下一步

node --version
git --version

安装hexo

npm install hexo-cli -g

同样,用类似命令验证hexo是否安装好。

hexo --version

刚开始按照CnFeat的教程到这一步不成功,因为教程里用的命令是npm install hexo -g,而在hexo官网发现hexo版本升级后安装命令变成了npm install hexo-cli -g,所以要学会从官网获取最新信息,还要提高英语水平,很多第一手的资料都是英文的

hexo初始化

新建一个专门保存hexo的目录(例如我的是在E:\blog),在目录下运行以下命令

  hexo init  npm install

hexo init 是作用是生成了hexo的一些基本目录,npm install的作用是安装一些依赖的模块

hexo server

在Hexo 3.0 后server被单独出来了,需要安装server,安装的命令如下

npm install hexo-server –-save

通过hexo生成博客

hexo g

hexo g 的作用是生成静态博客网站。hexo自带一个博客例子,这里先利用自带例子走完整个流程,后续再详细介绍怎么写博客和更换自己喜欢的博客主题,hexo g生成的博客在hexo的所在目录下的public目录下,我的博客就在E:\blog\public目录生成。hexo g 是简写命令,完整命令是hexo generate

本地预览刚才生成的博客

hexo s

hexo s 的作用是在本地部署hexo g命令生成的博客,然后就可以很方便在浏览器中输入http://localhost:4000/ 预览博客效果,hexo s 的完整命令是hexo server。如果你喜欢命令行还可用如下命令调用默认浏览器打开博客。预览博客效果时请千万记住一点:珍爱生命 远离IE

start http://localhost:4000/

如果在浏览器输入本地地址访问,看到白板和Cannot GET / 几个字

原因是由于2.6以后就更新了,我们还需要手动配置些东西,输入下面三行命令:

npm install hexo-renderer-ejs --savenpm install hexo-renderer-stylus --savenpm install hexo-renderer-marked --save

此时网站在本地电脑上建好了,不过现在只有自己才能访问,要想全世界的人都能访问就必须把生成的博客网站部署到Githut pages,即githut免费向githut用户提供的部署静态网页的服务的地方

开通githut pages服务

1. 注册Githut pages账号

记得到注册githut账号的邮箱激活github账号,不然githut pages服务可能不生效

2. 在github上新建博客仓库

仓库名必须是"githut账户名.github.io",比如我的githut账号名为Johnwhite-leaf,那我建的仓库名则为Johnwhite-leaf.github.io

建立hexo和githut pages之间的关联:

1. 生成SSH key并提交到github

ssh-keygen -t rsa -C "邮件地址@youremail.com"

输入邮箱和密码等信息后,一般会在在目录C:\Users\win7用户名\.ssh\生成SSH key验证文件,将文件id_rsa.pub里面的内容拷贝提交到githut网站的Settings->SSH Public keys。SSH key用来验证你的提交是合法的,只有将生成SSH key提交到github上的电脑才有权限修改你的github仓库,这里就是你的博客仓库

2. 配置git邮件地址和名字

git提交必须配置的信息,这一步骤在安装git之后和hexo d 之前任何时候做都可以,配置的信息将会在git的每个提交上显示。hexo d调用了git将修改提交到github,后续更换主题和管理hexo代码还会用到git

git config --global user.email "邮件地址@youremail.com
git config --global user.name "your name"

3. 配置hexo管理github pages

在hexo根目录的_config.yml配置文件中修改如下配置,没有就在文件末尾添加,特别地我的是在E:\blog\_config.yml。其中我的githut账号名为Johnwhite-leaf,对应的配置值为 git@github.com:Johnwhite-leaf/Johnwhite-leaf.github.io.git

deploy:  type: git
repository:  https://github.com/github账号名/github账号名.github.io.gitbranch: master# 例子
deploy:type:  gitrepository:  https://github.com/Johnwhite-leaf/Johnwhite-leaf.github.io.gitbranch:  master

部署博客到githut pages

hexo d

在Hexo 3.0版本后deploy git 被分开的,所以需要安装,安装命令如下

npm install hexo-deployer-git --save

不出问题的话就可以在浏览器中通过http://githut用户名.github.io 访问刚刚部署的博客,比如我的githut账号名为Johnwhite-leaf,对应网址 http://johnwhite-leaf.github.io 。hexo d 的完整命令是hexo deploy

简略的发表博文流程

搭建好hexo博客环境后,发表文章的的流程就简单多了

1. hexo new “title”,

会在hexo所在目录的E:\blog\source\_post目录生成title.md文件

2. 编辑步骤1生成的文件

用markdown格式编写title.md文件,windows系统下可用markdownpad编辑

3. hexo g

修改后再次生成博客

4. hexo s

本地预览博客效果。一般的流程,步骤2,3和4会重复多遍,预览博客满意后,最后到步骤5

5. hexo d

搭建好这个博客后,就可以很方便地发表文章了。每天都抽一部分时间来做自己喜欢做的事–写博客吧,Follow my heart!

怎么搭建独立自主的博客?相关推荐

  1. 5分钟 搭建免费个人博客

    五分钟倒数已经可以计时了. 三步完成免费个人博客搭建, 这是一篇小白也能看懂的文章,本文主要针对mac OS ,Windows 除了软件安装方式和命令有些区别(装了git bash也一样),其他基本一 ...

  2. 搭建云mysql,基于ECS搭建云上博客

    安装 Apache HTTP 服务 Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 1 ...

  3. 实现在CentOS7环境下搭建个人github博客

    实现在CentOS7环境下搭建个人github博客 主机要求:必须是centos环境版本可以不一样,假如你用的是其他版本的linux系统,只不过是命令不太一样. Tips:这里提前说下,对于Ubunt ...

  4. wget ip_10分钟搭建个人开源博客+域名ip解析

    有多少人有进行搭建个人的开源博客呢? 个人博客在咱们日常的工作中,以及在面试的时候都是加分项,不管是自己写的,还是用开源系统的都算. 一个博客从0到上线,到外部别人可以访问,经过多个步骤,比如选购云服 ...

  5. 基于hexo搭建个人免费博客——基本设置和了解

    2017年最新基于hexo搭建个人免费博客--基本设置和了解 前言 前面的文章已经能让大家搭建起自己的博客,并通过网络访问了,通过基础的发布文章和编辑既可以实现博客的运作了,其他的一些包括分页和标签. ...

  6. 阿里云ECS服务器搭建wordpress个人博客网站【详细图文教程】

    阿里云ECS服务器搭建wordpress个人博客网站[小白专用的图文教程] 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1.购买阿里云ECS主机 2.购买域名 3.申请备案 4.环境配置 5.安 ...

  7. 四十四、Hexo搭建自己的博客

    最近看了大佬 利用 GitHub 从零开始搭建一个博客文章,解决好久卡在自己的问题,那时看了极客的git课程还是很多问题,找了很多教程,发现都不太全,直到看到 https://mp.weixin.qq ...

  8. 个人博客代码_Solo小众开源博客系统:手把手教你搭建自己的博客系统

    博客是很多程序员朋友的最爱,通过博客可以梳理自己的技术体系,将自己日常开发过程中的技术心得或者对于一个技术问题的解决思路记录下来,对于以后碰到此类问题有一个参考的作用.同时,博客系统的内容是对外的,我 ...

  9. 不会代码,如何搭建一个个人博客?

    本科的时候不是计算机专业,学的自动化,也不太上进,尽顾着玩游戏了.那会一直觉得那些写博客的人超级牛逼,能够搭建自己个人博客的人更是牛逼哄哄的啊~ 前段时间,研究生课题没那么忙的时候,折腾着搭建了一个自 ...

最新文章

  1. 阿里巴巴集团 CTO 程立:今年天猫双 11,阿里练了什么?
  2. [Java网络编程基础]TCP发送和接收数据
  3. jmeter 采样器作用_实施自定义JMeter采样器
  4. 用于单元测试的JUnit教程–最终指南(PDF下载)
  5. python简单实用案例_Python 21 Django 实用小案例1
  6. Python使用两个Event对象同步生产者消费者问题
  7. 不吼不叫:该如何平静地和孩子合作?
  8. IB心理学生物分析模块
  9. Installing vipm-17.0.2018-linux
  10. android studio 讯飞语音,讯飞语音 使用步骤(针对androidStudio):语音转文字:(示例代码)...
  11. 霍纳法则c语言算法代码,霍纳法则(Horner's rule)
  12. 【EXLIBRIS】纸版书目整理 -- 小书架 上 01 【166 种】【203册】
  13. eclipse编写web.xml中出现The word ‘...‘ is not correctly spelled
  14. 安卓模拟器(手机)安装抓包工具(fiddler)证书及手机设置代理后无法上网?
  15. 什么是零代码开发平台,为什么企业IT应该重视?
  16. 怎么在html的表格中加筛选,excel中表头合并单元格的筛选
  17. Linux 多线程编程实验知识整理
  18. 【教程】如何优雅地使用vs code代替keil开发51单片机/STC单片机
  19. 基于OpenGL的地形建模技术的研究与实现
  20. Beef的安装及基本使用

热门文章

  1. Electron 设置镜像
  2. 股市精忠社杨忠国在线体验:华为“全家桶”补全
  3. 拯救U盘之——轻松修复U盘“无法访问”的故障
  4. EDUSOHO踩坑笔记之三十三:班级
  5. launchctl 启动进程控制
  6. java中set集合的特点_Java 集合之 Set 集合
  7. 后端代码处理业务和sql处理业务的抉择
  8. Android原理之动态墙纸
  9. synchronized同步锁的三种方式
  10. 关于useGeneratedKeys的用法