微精选 > 运动·赛事 > 利用 GitCafe Pages 搭博客,又快又稳定,十足 Geek 范! > 正文

利用 GitCafe Pages 搭博客,又快又稳定,十足 Geek 范!

GitCafe 2017-01-28 08:13:52

利用 GitCafe Pages 搭博客,又快又稳定,十足 Geek 范!

上次,我们推出了使用 GitCafe Pages 服务的其中一位用户的文章——面向新手的【Git 入门指引】,相信大家都受益匪浅,开始蠢蠢欲动,迫不及待地使用 Git 来控制版本与协同合作了。

【传送门:http://mp.weixin.qq.com/s?__biz=MjM5ODc4MjcyMA==&mid=201353282&idx=1&sn=2d3873186ab8aeddda56dee63573b2b1


那么用 Git 可以做些什么别的呢?


之前在微博上看到有对情侣,一旦吵架女生就不吃饭也不睡觉,只用写代码,心情就变好了。其实她就可以用 Git 控制每一次代码的版本,从而判断出最近吵架的频率。开个玩笑而已。


很多人都爱写博客,最早用的是新浪、网易等直接提供的博客平台,虽然有很多主题可以变换,但是依然不够个性化。于是很多程序员为了更自由随意地定制自己的博客,开始在 GitHub 上搭建自己的博客。可是问题又来了,GitHub 上搭建的博客有时不稳定,访问速度变慢的问题给程序员们带来了很多困扰。


所以今天邀请了我们另一位正在使用 GitCafe Pages 搭建博客的用户告诉大家怎样更好地使用 GitCafe Pages 来搭建博客!

将博客从 GitHub 迁移到 GitCafe

本文作者:唐巧

代码仓库:
https://gitcafe.com/tangqiaoboy

博客地址:
http://tangqiaoboy.gitcafe.com


我之前一直使用 Github Pages 功能以及 Octopress 来搭建个人博客,我也写了一篇文章《象写程序一样写博客:搭建基于 github 的博客》来分享博客搭建的技术细节。


但是自从我的博客每天访问量超过 2000 次以后,我就发现博客的访问速度还是一个不可忽视的问题。通过监控宝和 Google Analytics,我发现有些博客文章的平均打开时间长达 4 秒钟。于是我开始考虑将博客搭建在更快的服务器上面。


我的首先考虑是购买独立的 VPS,Linode 每月30$的价格还是略贵,于是我买的是 DigitalOcean,DigitalOcean 算下来每月只需要 5$。于是在一个周末,我花时间购买了 DigitalOcean 家的 VPS,安装了 Nginx,然后在上面运行了一个脚本,定时将我 github 博客的内容自动更新过来(其实就是定期 git pull 一下我博客的 repo)。


就这样运行了一个月,我发现虽然 DigitalOcean 服务器的 ping 值并没有什么提高。就在我在微博上抱怨的时候,一个朋友推荐我试试 GitCafe。于是我就尝试了一下,结果你猜怎么着?我被吓坏了。


ping 值直接从 200ms 左右减少到 3ms 左右,如下图所示:


监控宝的统计显示,首页平均打开时间从原来的1800ms 减少到 350ms左右,快了 5 倍,如下图所示:



所以我强烈建议各位基于 Github Pages 功能来搭建个人博客的朋友,将博客内容镜像到 GitCafe 上。如果你有个人的独立域名,那么镜像之后就可以随时将博客地址在 Github 和 GitCafe 之间切换了。对于各位博主来说,这样做没有任何风险,因为你可以随时再切换回去。当然,免费用了人家的服务,如果你能像我这样,在网站的底部附上感谢内容,那是再好不过的了。


以下为大家介绍详细的迁移过程。


迁移教程


注册


如果你还没有注册过 GitCafe,首先需要点这里【https://gitcafe.com/signup】注册一下。


注册完成之后,去公钥管理那儿添加一下你的 ssh 公钥,这样以后提交代码会方便很多。当然你也可以不设置这一步,每次提交通过密码来验证。


在 GitCafe 上新建一个博客项目


然后我们需要先在 GitCafe 上新建一个博客项目。GitCafe 的博客搭建官方教程藏得比较深,所以我第一次还没有找到,教程地址在这里。具体来说,就是创建一个与用户名(如果是组织,就是组织名)相同名称的项目。如果你创建的项目名与用户名相同,GitCafe 会自动识别成这是一个 Page 项目,如下所示:


设置多个 Git Remote 源


接下来我们需要将原本提交到 Github 上的博客内容同步提交到 GitCafe。因为我的博客是基于 Octopress 的,我介绍一下 Octopress 的做法,其它博客引擎的做法类似。


对于 Octopress,我们只需要每次提交网站内容时,执行完 rake deploy 之后,再执行以下脚本即可(你可以将该脚本中的代码仓库地址换成你的,然后将其保存成一个脚本文件,需要时执行一下即可):

  1. cd_deploy

  2. # 添加 gitcafe 源

  3. git remote add gitcafe git@gitcafe.com:

    tangqiaoboy/tangqiaoboy.git >> /dev/null 2 > &1

  4. # 提交博客内容

  5. echo "### Pushing to GitCafe..."

  6. git push -u gitcafe master:gitcafe-pages

  7. echo "### Done"%

大概解释一下以上内容,Octopress 在发布时会将自己的 _delpoy 目录切换到 master 分支,然后将生成的博客内容放到 _delpoy 目录中,然后执行 git push 操作。正常情况下,默认内容是 push 到 github 上的。我们执行的以上脚本,就是为该项目增加了一个名为 gitcafe 的远程仓库,然后将 master 分支 push 到 gitcafe gitcafe-pa

ges 分支。


修改 Rakefile(可选)


除了以上方法外,你也可以直接修改 Rakefile 。在其第269行后增加如下代码,也可以达到同样的目的,这样你每次就仍然只需要执行 rake deploy 即可同时将博客同步到 github 和 gitcafe

  1. system "git remote add gitcafe git@gitcafe.com:

    tangqiaoboy/tangqiaoboy.git >> /dev/null 2>&1"

  2. system "git push -u gitcafe master:gitcafe-pages"


插入代码的示例位置如下:


设置域名


GitCafe
的自定义域名设置比 github 要友好得多,它不但提供了图形界面设置,并且支持同时设置多个域名。在项目管理 –> 域名管理中,我们可以找到相应的设置项,如下所示:

在设置完之后,我们需要去域名解析的服务商那儿,将对应的域名用 A 记录类型,解析到117.79.146.98即可。


添加对 GitCafe 的感谢(可选)


如果你也想像我一样,想在博客底部添加对 GitCafe 的感谢,可以参考这个提交。它通过修改 Octopress 的 source/_includes/custom/footer.html 模版文件完成。


感谢


最后再次感谢 GitCafe,上个月在 QCon 大会上了解到他们的发展思路和 Github 很不一样。虽然它还是一家创业公司,但是我期待看到它最终能够推动国内开源和技术社区的发展。


本文作者:唐巧

代码仓库:
https://gitcafe.com/tangqiaoboy

博客地址:
http://tangqiaoboy.gitcafe.com


请点击【阅读原文】查看博客原文。


GitCafe(GitCafe)

看过本文的人还看过

特约作者

GitCafe

人气:0
更新:2017-01-28 08:13:52

GitCafe GitCafe

推荐阅读 ^o^


鲜娱       韩娱       娱评社
八卦       独家       滚动
内地       港台       欧美
日韩
视讯       综艺       剧评
八卦爆料          活动          段子