用廉价的方案来加速博客访问——简单的nginx转发
国内用户访问githubpage太慢了,咋整?
有几个常见的方案。
- CDN加速
- 部署到国内平台,比如gitee
- 部署到自己的云服务器
- 服务器转发
用那种方案比较好?
这些方案我都尝试过,我把自己的感受记录在此,希望对你有帮助。
CND加速
理论上效果很好,实际上差强人意。
作为一个穷人,我只尝试过用CloudFlare。从最终效果上来讲,在国内用CloudFlare也不见得会有多大的提升。更进一步的,用CloudFlare的服务还有一些配置(比如DNS服务器啥的)需要修改,我个人是比较专一于阿里云的,所以这并不讨喜。
当然如果你有点小钱,用国内大厂的付费CDN,那自然不在这篇文章的讨论范围之内。
我为什么专一于阿里云?单纯的因为先入为主罢了。
部署到国内平台……
那还是算了吧。很久以前我曾经尝试过用gitee的服务。我真他妈是醉了,一个静态页面托管,想要实时更新,对不起,那是别人的vip服务。这方面我只能说我国领先世界一万年。
特别不建议用gitee的服务。也许你可以找到更好的国内静态资源托管服务,但是我猜你也不想输入手机号码身份证实名认证,再加所上传的资源归服务商所有吧。(笑)
我并没有针对gitee,我是说国内互联网环境就这样了。
部署到自己的云服务器
不失为一种好方案。以阿里云的轻量应用服务器为例,有个什么开发者计划?啥啥啥的,一年一百块,峰值带宽5M,部署一些日访问量100不到(甚至更多)的小型站点,完全够了。
部署在国内云服务器,地区选对了,相较于githubpage,能极大的提升用户体验。
奥对了,别太高估了你的站点热度了,说真的,没人看的,不需要那么好的服务器。(这里吐槽一下工作单位,有机会新开一篇文章)
至于我为什么不把静态资源放服务器上,因为我单纯的喜欢github。
服务器转发
是我现在采用的方案。根据我的历史经验,阿里云的服务器访问github相当的快,理所当然的,我可以简单的配置nginx转发,增强用户体验。
大致来讲,流程从:用户直接访问githubpage 变成了 用户访问阿里云服务器,服务器转发到githubpage,并返回。配置也非常的简单,在服务器装上nginx,加一个server块即可。
1 | server { |
奥对了,建议配置https,图省事儿的话你可以参考这篇文章。
我们可以来对比一下实际效果。如下图,左边是直接访问githubpage的加载速度,右边是阿里云服务器中转的加载速度……在某些资源上是天壤之别。你可以自己访问试试。


两者都是完全没有缓存的情况下的测试结果,可以得出哪些结论呢?
- 直接访问用了53.24s全部加载完成(主要是有一张大图),中转后用了6.02s全部加载。
- 两张图,分别是566k和15k,直接访问需要49.53s和1.06s,中转后只需要431ms和210ms。离谱哈。
- 其他小文件,也有肉眼可见的提升。
我猜你也不想自己的一张图片,要别人等将近一分钟才能加载出来吧。(笑)
后记
之前我一直觉得,我放GitHubPage上,别人加载慢,是他的问题,不是我的问题。直到后来我把一些资源分享给好友,好友说图片打不开、加载太慢了。次数多了,我渐渐的就意识到了,自己也不能太偏激,啥事儿都让别人魔法上网解决。所以有了这次调整。
就像docker被墙之后,国内某些厂商也为
😊国内这网络环境是真的稀碎——jiangKerman