博客迁移-从github pages到云主机

前言

以前我博客是用github的pages服务部署,现在碰到了几个问题需要解决

1.github pages百度收录情况非常差(github对百度不友好,屏蔽了),情况如下

20170721856213452DFC6-9094-4209-A22B-54C6C0950410.png

2.github pages高峰期访问速度太慢,国内用户体验很差,测试结果如下(我已经测不下去了):

201707213122screenshot_99.png

这个是github pages服务(左)和bwg(右)晚上九点半的对比图

3.github pages支持不够完善,不支持https证书绑定

4.个人想加入更多nginx方面的特性,玩玩openresty,然后搭建一些其它应用

最后的决定是迁移到自己的云主机

购买云主机以及域名相关

主机问题出钱就可以,我在digitalocean买了一台云主机,安装了6.9内核版本的linux(为了支持bbr)

域名解析做个A解析和@解析就可以

云主机环境搭建

环境搭建会比较麻烦

1.安装nginx(这里我采用了openresty),还需要支持https,http2

2.升级python到2.7.13以及pip,setuptools的升级(之前写过文章https://hubinwei.me/2016/11/25/python%20pip%E5%8A%A0%E9%80%9F/

3.内核开启bbr的TCP加速

4.docker(目前还未加)

http2证书授权

http2证书授权我之前写过一篇文章,链接地址如下:https://hubinwei.me/2017/04/20/web%E5%BA%94%E7%94%A8http2%E5%AE%9E%E6%88%98/,我用的是 Let’s Encrypt certificates的免费证书,有一个开源工程整合了一下,支持自动续费 https://github.com/certbot/certbot

网站文件部署方式

之前因为是hexo+github的静态文件部署方式,现在想切换到自己的云主机,我最初的想法是在云主机里面部署一个gitlab容器,然后用gitlab的pages服务,但实际做了之后发现gitlab太占用内存了,麻烦死了,后来又想了个办法,hexo+github的部署方式依然不变,网站的静态文件依然存在github上,但是在openresty的html目录存放一个git仓库,专门pull代码仓库的静态文件,部署方式如下:

2017072187106screenshot_94.png

性能对比测试

2017072154898screenshot_98.png

github pages服务的结果我之前就发过了,这里给的是优化后,高峰期晚上九点半od(左)和bwg(右)对比结果,明显提升了不少

性能分析

利用chrome查看了下网站的加载速度,如下:

2017072136061screenshot_90.png

居然有一个文件需要33s,为了不自己搭建cdn,我找了个bootstrap资源作为替换,修改源码如下:

2017072157359screenshot_95.png

其它有性能问题的文件也可以这么做(公开的可能被攻击,得自己留意一下),如果性能还不达到要求,可能就需要上自己的CDN服务器了

CDN加速

目前我还没做,后期有性能需求我做了再完善

总结

1.新主机更稳定

2.新主机对百度收录更友好

3.web服务器更好的支持https和http2

4.内核有bbr加速

5.有了openresty更灵活

坚持原创技术分享,您的支持将鼓励我继续创作!