个人博客网站搭建(一)--基于Hexo与Github

1. 为什么要搭建个人博客网站?

  • 记录折腾软件或者技术的过程,免得下次再折腾的时候重新找各种网站和教程——省事
  • 记录一下自己所遇到的问题以及解决办法。
  • 分享自己的生活经验
  • 装X
  • 我可是以后要做程序猿的男人,不会自己搭建网站可没脸见人。

2. 搭建网站需要了解的常识

1. 域名

把互联网上的每一个网站比作房间的话,那么域名就相当于房间号,不然别人怎么去访问你的房间。简单说就是网址。域名解析是指将域名解析为IP。域名是IP的代名词,没有人会去记IP,访问网站都是访问域名的。
那如何得到域名?有免费和付费两种。其中我选择的Github page就能提供免费域名,付费域名那选择就多了。国内:阿里云、腾讯云。国外:Godaddy、Name

2. 网页存放空间

  • 购买服务器或者把自己的电脑当服务器。
  • 购买虚拟服务器
    VPS是虚拟服务器的简写,相当于一台完整的计算机,可以安装软件,存放数据,下载上传,但是它不在我们面前,而是在VPS服务商的机房里,我们只能通过远程去操作这台计算机.由于VPS就相当于一台完整的计算机,所以我们在上面的可操作性比较大,我们可以安装服务器程序用来提供网页下载服务,安装php提供后端处理能力,安装mysql提供数据库服务.非常灵活.因此VPS可以同时支持动态博客框架和静态博客框架。
    VPS 选择须知:常见主机操作系统分为 Linux 和 Windows 两种。作为开源系统,Linux 主机在系统成本、性能以及稳定性上目前是绝对优于 Windows 主机的。购买的时候要注意自己的域名是不是已经ICP备案,如果没有备案不能选择大陆的主机,建议用香港的,毕竟与日韩美比地理位置相对于大陆较近比。国外口碑较好的 VPS 供应商有 DigitalOcean,Linode 等等,这类主机通常在服务和质量上是有所保证的,价格在 30-60 美元/每月不等。另外一款较为便宜的 VPS,叫做版瓦工,价格在 12 美元一年。你的域名备案了可以选择大陆的主机,比如阿里云,腾讯云都可以
  • 使用Github pages
    GitHub Pages是GitHub提供的一项免费服务.每个GitHub账号可以申请一个pages仓库用来存放网页文件.而GitHub在已经安装好了服务器程序以便于浏览器访问这些网页.由于GitHub Pages不支持php和数据库,因此只能在上面部署静态博客框架.

3. 博客框架介绍

每篇文章都自己写网页是不现实的,而即使是web开发大神,也不会所有网页都自己写,因为太麻烦太繁琐了.那么有没有什么自动化的整理排版网页生成工具可以用呢?当然有!我们需要利用博客框架来自动生成网页文件.
博客框架是指一个自动化的程序,我们只需要以框架要求的语法(如markdown)提供我们博客文章的材料,它就会自动帮我们排版文字,转换成网页文件,生成网页层级组织,生成网站首页,一切都是全自动的,我们只需要关心我们文章的内容就够了.自动化万岁!
而博客框架一般分为动态页面框架静态页面框架两种.

  • 动态框架
    动态页面框架是指用户在访问我们的网站的时候,所有的网页都是在访问的时候动态生成的,平时没有,访问的时候现场生成,这种框架的好处是搭建简单,现用现做,支持评论互动,功能比较强大.但是需要服务器支持php和数据库.这一类的框架比较著名的是WordPress.由于这类框架要求服务器有数据库和php支持,很多人用vps+wordpress搭建个人博客。
  • 静态框架
    这一类的框架是指我们每次在写完文章后启动框架为我们生成一套网页文件,这套文件部署在服务器上供别人访问,其中的内容是不会变动的,直到我们下次修改或写新的文章后再生成一套新的文件部署到服务器后,网站的内容才会改变.网站上的内容是静态的,因此成为静态博客框架.这类框架比较有名的有Hexo.这类框架的好处是对服务器要求简单,不需要php和数据库支持.但是比如文章评论等动态改变网页内容的功能,在这种框架中生成的网页中就无法实现了(事实上,如果一定要使用评论功能,可以使用Disque之类的第三方服务集成到Hexo生成的网站中来实现评论,原理还是利用第三方的服务商的数据库和服务器来存放评论数据)。

3. 开始搭建

1. 环境安装

  • 安装git
    windows下使用msysGit
    Git与Github使用教程(一)--Git安装、Git账户与GitHub账户连接
    Git与Github使用教程(二)--Windows下msysGit的使用
  • 获得github page网页空间
    注册好GitHub账号后,新建仓库repository,仓库名就设为:github-name.github.io。选择public,新建成功。
    建立好之后我们就已经有了自己的网页存放空间啦!今后通过
    https://github-name.github.io就能访问博客。
    部署网页的方法:
    1、先clone我们的仓库,然后修改其中的内容(例如添加网页删除网页等),最后commit + push到github上就可以了.这很麻烦,
    2.、Hexo为我们提供了一键生成+发布的功能,今后连commit+push也可以省去啦,直接hexo deploy即可。

官方教程网站:https://pages.github.com/

  • 部署Hexo框架
    Hexo需要部署在我们自己的计算机上,由于Hexo是基于Nodejs编写的,所以我们首先需要安装Nodejs

安装参考地址:安装Node.js

对于Windows系统,在Nodejs官网上下载并安装Nodejs。
安装完毕后在我们的电脑里建立一个新的文件夹来存放我们的博客工程文件,例如D:/hexo
在该文件夹里右键选择git bash 打开命令行
使用npm安装Hexo

npm install -g hexo  #官方命令为:npm install -g hexo-cli

-g参数是要求全局安装,这样我们以后就可以直接在命令行里使用hexo命令了。
由于我们要提交到github上,我们还需要安装hexo git提交插件.

npm install hexo-deployer-git --save

2. 初始化博客工程

hexo init <folder>  # hexo会在目标文件夹建立网站所需要的所有文件
cd <folder>
npm install    # 安装依赖包

上面的folder为博客的工程名,我们可以自己起,例如testBlog
完毕以后我们可以进入我们之前初始化好的文件夹,例如D:/blog/testBlog中
,修改_config.yml文件来调整hexo的设置。

初始化好的文件夹内容及各文件功能如下:
├── .deploy #需要部署的文件
├── node_modules #Hexo插件
├── public #生成的静态网页文件
├── scaffolds #模板
├── source #博客正文和其他源文件,404、favicon、CNAME 都应该放在这里
| ├── _drafts #草稿
| └── _posts #文章
├── themes #主题
├── _config.yml #全局配置文件
└── package.json

3. 本地查看

现在我们已经搭建起本地的hexo博客了,执行以下命令:

hexo generate   #生成静态文件到public文件夹 
hexo server   #在本地服务器运行

至此,本地博客已经搭建起来了,只是本地,别人看不到的,浏览器输入localhost:4000看看
要想从通过网站看需要部署到Github。

4. 修改_config.yml文件基础配置调整hexo的设置

title: 这里填写博客的标题
subtitle: 这里填写博客的副标题
description: 这里填写博客的描述
author: 这里填写博客的作者
language: 这里填写博客的语言,如果是中文填写”zh”
url: 这里填写我们之前申请的博客网页存放空间的网址,例如我们的github用户名为”aaa”,这里就填写”http://aaa.github.io
deploy:
type: 这里填写”git”
repo: 这里填写我们之前申请的git仓库的地址,例如我们的用户名为”aaa”,则此处填写”git@github.com:aaa/aaa.github.io.git

暂时就填写这么多就够了,其他的部分暂时先不做修改,保存,退出.如果需要了解更多hexo的配置或者想要做更高级的定制,可以查看官方配置说明

5. 部署到github

现在网站已经基本建好了,可以部署到github上,使用命令:

hexo generate
hexo deploy

或者

hexo g -d

该命令的意思是使用hexo生成整个博客的网页文件,并且上传到我们刚才repo里面填写的git仓库里.hexo会自动检索我们博客文章的改动,删除,增加,并生成一套新的网页。
以下提示说明部署成功

[info] Deploy done: git

打开浏览器输入网址:

http://你的github用户名.github.io

即可访问网页。

6. 写文章

git bash命令行模式,进入我们的博客文件夹:

hexo new "标题"

在 _posts 目录下会生成文件 标题.md

title: Hello World   #文章页面上的显示名称,可以任意修改,不会出现在URL中
date: 2015-07-30 07:56:29 #发表日期,一般不改动
categories: hexo #文章分类目录,多个分类使用[a,b,c]这种格式
tags: [hexo,github] #文章标签,多于一项时用这种格式
---
正文,使用Markdown语法书写
<!--more--> 
#more标签以下的内容要点击“阅读全文”才能看见,#more标签以上的内容为你首页显示文章的摘要部分

编写好之后,保存退出,之后用hexo g -d生成网页文件在部署到github上即可。

附录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容