一直以来唐建鹏博客都处于荒废阶段,所以占用一个服务器就显得特别奢侈了。之前也使用过 Hexo+Github 来搭建免费博客,不过国内访问速度不敢恭维。 于是想到一个方法,同时将 Hexo 静态页面托管于 Github+Coding ,在使用 Dnspod 来解析,这样国内国外都可以访问,速度还不错。还是把这个折腾的过程记录下来吧。
使用工具
Node.js
介绍
Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
下载
Git
介绍
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 的读音为/g?t/。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上。
下载
Hexo
介绍
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
下载
环境配置
这里重点是 Node.js 与 Git 下载安装,直接下一步就可以。没什么技术含量。
值得注意的是,安装过 Xcode 的同学可以不必安装 Git 。因为 Xcode 自带 Git 。
搭建博客
鼠标任意位置右击打开 Git Bash
安装 Hexo
npm install hexo-cli -g
等待片刻即安装完成,在所需要存放 Blog 的目录处 建立一个 Hexo(名称随意,必须英文) 文件夹。
部署 Hexo
进入文件夹鼠标右击打开 Git Bash 。输入
hexo init
新建完成后,指定文件夹的目录如下:
浏览博客
输入hexo g
再输入 hexo s
就可以在本地浏览博客了,http://127.0.0.1:4000
关于 Hexo 的各种命令将会在下一篇文章中讲解。
Github+Coding 部署
注册这里就不介绍了,网上有很多教程。
生成 SSH
检查 SSH Keys
cd ~/. ssh
如果提示:No such file or directory 说明你是第一次使用 git 。
生成新的 SSH Keys
ssh-keygen -t rsa -C 邮件地址@youremail.com
Generating public/private rsa key pair. Enter file in which to save the key(/Users/your_user_directory/.ssh/id_rsa):回车就好
回车三次会出现下面提示:
添加SSH Key到GitHub 与 Coding
在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。 1、打开本地C:\Documents and Settings\Administrator.ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。如果看不到这个文件,你需要设置显示隐藏文件。准确的复制这个文件的内容,才能保证设置的成功。 2、登陆github系统。点击右上角的 Account Settings—->SSH Public keys —-> add another public keys。Coding在账户SSH公钥里面添加。 3、把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了
Github
Coding
测试
GitHub输入:ssh -T git@github.com
Coding输入:ssh -T git@git.coding.net
如果是下面的反馈:
The authenticity of host 'github.com (207.97.227.239)’ can’t be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?
不要紧张,输入yes就好,然后会看到:
Hi cnfeat! You’ve successfully authenticated, but GitHub does not provide shell access.
设置用户信息
现在你已经可以通过SSH链接到GitHub了,还有一些个人信息需要完善的。 Git会根据用户的名字和邮箱来记录提交。GitHub也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的,名字必须是你的真名,而不是GitHub的昵称。
git config --global user.name cnfeat;//用户名 git config --global user.email cnfeat@gmail.com;//填写自己的邮箱
这样本机就与 Github 与 Coding 链接上了。
建立项目
关于建立项目的介绍搭建自行百度吧,_记住版本的名称必须与你用户名相同_。再有就是Github设置为公开,Coding设置为私密。
修改_config.yml文件
在本地浏览自己的博客没问题后,我们就需要把它部署了,先在根目录下找到_config.yml文件,并进入编辑。我们找到deploy这一项,修改看下面:
type: git repo: github: git@github.com:<NEMA>/<NEMA>.github.io.git,master coding: git@git.coding.net:<NEMA>/<NEMA>.git,master
按照上面的修改好_config.yml文件过后,我们还需要安装hexo-deployer-git才能够部署到 GitHub+Coding 上面。
npm install hexo-deployer-git --save
接着我们就生成静态页面和把代码push到 GitHub+Coding 上:
$ hexo g //生成静态文件 $ hexo d //上传储存空间
到这一步 Github 就可以访问了,https://name;.github.io
,Coding 还需要设置一下。
Coding Pages 服务
登录 Coding 点击项目,再点击左侧导航的代码。在里面开启 Coding Pages 服务,分支选择 master 。
然后我们访问http://name.coding.me
即可访问了。
域名绑定
GitHub 需要建立一个 CNAME 的文件, 在里面输入你的域名,上传到项目. Coding 只需在 Coding Pages 服务 里面绑定一下域名。
解析我使用的是 Dnspod 。关于怎么设置我放一张我设置的图片供大家参考。
这样国内国外都可以访问了,下一章将给大家讲解怎么优化与设置 Hexo 。