前言

用过市面上主流的blog程序,也用Django自己写过开源的博客程序July(170+Star),慢慢的发现没太多精力去打理维护,干脆直接放GitHub当静态页面算了,之前也用过Hexojekyll等静态程序,但使用起来还是繁琐,体验不到写作的乐趣。

所以,干脆直接放GitHub把,简单粗暴,你可能只需要做一件事情,就是准备好一个GitHub账号,再准备一个域名,不论备案与否。

创建GitHub仓库

假设你已经有GitHub账号,如果还没有点我注册,登录你的账号,创建一个仓库

仓库名、描述等信息,填写一个你喜欢的就好。

# 下载创建好的仓库
$ git clone https://github.com/anshengme/blog.git
$ cd blog/
$ echo 'Hello, Ansheng!' > README.md
# 绑定的域名
$ echo 'blog.ansheng.me' > CNAME
$ git add .
$ git commit -a -m "2017-05-26 23:19:08"
# 提交到仓库中
$ git push

这时候访问你的用户名+github.io/blog应该就能出现Hello, Ansheng!字样,但这并不是我们想要的,我想直接访问blog.ansheng.me就出现想要的结果,应该怎么做呢?

域名绑定

上步骤在仓库中的CNAME写入了blog.ansheng.me,其实我们只需要在自己的域名管理后台添加一条cname记录指向到anshengme.github.io就可以了,如下图所示:

我添加了两条记录,@blog,因为我启动了ansheng.meblog.ansheng.me

HTTPS跳转

这里我使用的是Cloudflare提供的免费CDN服务,并且开启HTTPS以及HTTP2,只是为了一个小绿锁,目测现在大部分的站点都已经开启了,不用总感觉哪里不对劲(档次低)。

假设你已经注册了Cloudflare账号,也已经绑定了你的域名,注意,这里绑定域名的时候需要把Nameserver指向Cloudflare所提供的,不然不能提供CDN服务,比如我的域名在阿里云买的,但是把NS改成Cloudflare的了

如果你已经将NS指向到了Cloudflare中,请确保你的域名状态如下所示

域名状态一定要是Active才可以哦。

开启SSL

Cloudflare的站点管理页面,切换到Crypto这个标签页。将SSL的模式改为full

开启之后稍等片刻你就可以通过https进行访问了,但是你会发现当访问http的时候并不会自动跳转到https,所以,你可能还需要下面的操作。

强制跳转到HTTPS

切换到Page Rules页,添加一条页面规则

http://*ansheng.me/*

填写完毕之后点击Save and Deploy就可以了,可能需要一段时间,毕竟有缓存。

遇到的坑

想过使用阿里云的CDN做强制HTTPS跳转,但巨麻烦,因为阿里云在跳转的时候不能与原域名重复,所以,每个https域名都必须做两条记录,而且配置的CDN不知道什么时候神效,我前天晚上登录两三个小时都没生效,所以直接换Cloudflare了,免费的把,只要是这。

$ curl -I https://blog.ansheng.me
HTTP/2 200
date: Fri, 26 May 2017 15:52:54 GMT
content-type: text/html; charset=utf-8
set-cookie: __cfduid=d76f0ba8019b6ca9aecc7420de5e6ac5c1495813974; expires=Sat, 26-May-18 15:52:54 GMT; path=/; domain=.ansheng.me; HttpOnly
last-modified: Fri, 26 May 2017 05:58:36 GMT
access-control-allow-origin: *
expires: Fri, 26 May 2017 12:10:36 GMT
cache-control: max-age=600
x-github-request-id: 9196:1FDB:577B6E:7848FF:592818E4
via: 1.1 varnish
age: 5
x-served-by: cache-sjc3646-SJC
x-cache: HIT
x-cache-hits: 1
x-timer: S1495813974.473891,VS0,VE1
vary: Accept-Encoding
x-fastly-request-id: 2dc90b55edced17846d414909da9b20e89fdcccc
server: cloudflare-nginx
cf-ray: 3651e77c68d96bfe-SJC

上面是CDN服务器返回的数据,真的是支持HTTP2了,虽然访问还是慢之类的,但是不用操心续费了。

还有一个就是如果你写的.md文件格式有错误是可以在下面的页面看到的

如果你每次上传的.md文件格式没什么错误的话会提示你 Your site is published at http://blog.ansheng.me/,如果格式错了,会直接提示你那个文件第几行出现语法错误,还是很智能的。

总结

作为一名程序员,使用Markdown写作是标配了,用了之后你会发现真的是太棒了。

使用GitHub做个人博客的更多相关文章

  1. 用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚

    本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间,用Jekyll写博客,说很多人都这么做.于是我就研究了一下. 比较有价值的文章有这么几篇: htt ...

  2. 利用github page搭建博客

    为什么选择GitHub Pages? 很多人用 wordpress,你为什么要用 github pages 来搭建? 1.github pages有300M免费空间,资料自己管理,保存可靠: 2.学着 ...

  3. 在github上搭建博客(使用Jekyll)

    简单说,只需要三步,就可以在 Github 搭建起一个博客: 在 Github 上建一个名为 xxx.github.io 的库: 把看中了的 Jekyll 模板 clone 到本地: 把这个模板 pu ...

  4. 使用Jekyll搭建免费的Github Pages个人博客

    一.Git 1.Git概述 Git is a free and open source distributed version control system designed to handle ev ...

  5. 零基Github Page个人博客建立教程无限的自由流动

    本文介绍了什么是Github Page.以及如何使用Github Page搭建一个免费的.无限流量的个人博客并绑定独立域名. 一.前言 1.1 为什么要用Github Page搭建博客 借用阮一峰老大 ...

  6. 用Jekyll在github上写博客

    用Jekyll在github上写博客——<搭建一个免费的,无限流量的Blog>的注脚 本来打算买域名,买空间,用wordpress写博客的.后来问了一个师兄,他说他是用github的空间, ...

  7. 《Hexo+github搭建个人博客》

    <Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+g ...

  8. 可能是最详细的 Hexo + GitHub Pages 搭建博客的教程

    前言:博主目前大三,Web 前端爱好者.写博客的好处,不是为了写而写,而是一个记录思想的过程.不要考虑它能带给你什么,而是你自己从中收获了什么. 最近刚好有空,于是就参照网上的各种教程,搭建了一个博客 ...

  9. Hexo + github 打造个人博客

    前两年开始用 wordpress 搭了一个网站,但服务器是在 Linode 上,之所以要放在 Linode 上,要从买的域名说起,因为我买的域名是 fengzheng.pub ,.pub 是不允许备案 ...

随机推荐

  1. Android显示GIF动画 GifView

    android中显示gif动画原生态一般支持的不是很好,故找了一个开源的项目,现简单介绍如下: GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediapla ...

  2. Oracle session active 和 inactive 状态 说明

    Oracle session active 和 inactive 状态 说明 原创 2011年06月12日 13:08:00 标签: session / oracle / database / ser ...

  3. IP编址

    IP地址 /include/linux/inetdevice.h,定义IPV4专用的网络设备相关的结构.宏等 /net/ipv4/devinet.c.支持IPV4特性的设备操作接口 数据组织 net_ ...

  4. HDU3001 Travelling 状压DP

    哭瞎啊,每一个城市能够经过至多两次,但没有要求必须经过两次.想用 两个状压来乱搞搞.结果自觉得会T.结果 WA了,搞了一下午.没想到用三进制啊.智商捉急,參考了 http://blog.csdn.ne ...

  5. [转]sa不能远程连接sql server 2008的解决办法

    本文转自:http://www.cnblogs.com/chendaoyin/archive/2012/08/25/2656900.html 方法: 开始->Microsoft SQL Serv ...

  6. Docker创建centos的LNMP镜像

    前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记. 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装> ...

  7. Hadoop 添加删除Slave

    Hadoop 添加删除Slave @(Hadoop) 在hdfs-site.xml文件中添加如下配置: <property> <name>dfs.hosts</name& ...

  8. centos6.8服务器配置之vsftpd配置

    vsftpd: version 2.2.2一.安装:因对版本要求不高,所以采用yum安装 yum install -y vsftpdckconfig vsftpd on 二.配置: 1.建立ftp用户 ...

  9. SSMybatis整合 --详细解读Mybatis对oracle数据库进行增删改查(一)

    Mybatis是现在主流的持久化层框架,与Hibernate不同的是,它鼓励程序员使用原声SQL语句对数据库进行操作.因此提供了非常灵活的功能.特别是当数据库同时访问数过多,需要进行优化时,使用sql ...

  10. TestNG测试报告美化

    因TestNG自带的测试报告不太美观,可以使用testng-xslt进行美化 1.下载testng-xslt包 2.把/src/main/resources/TestNG-results.xsl放到你 ...