首页 静态网站最佳实践「同时也是个人博客最佳」

现在虽然博人博客已经淡出了人们的视野,但是在程序员圈子里依然流行。博客更加开放的写作环境和更加方便的发布流程,非常适合某些程序员作为极客的胃口,同时借助github这个最大的源代码托管社区,现在运营一个网站几乎没有什么金钱成本,需要的只是一点时间学习掌握怎样部署和运营一个网站。

我已经几个月的时间探索(不夸张,我从996的工作中跳出来之后一直在研究的就是这个)后,成功发布了一个个人博客(grofis.com), 以下是我积累的几点经验分享:

  1. 博客通过hexo搭建是最佳方案。搭建完成之后源码上传到github上(放心吧现在源码不值钱),然后配置netlify进行自动部署。也就是说博客文章完成后,通过git客户端提交到github上,netlify就自动帮你把更新的文章打包发布,访问网站的时候就是最新内容了。
  1. github也可以当做图床来使用!什么意思呢?就是你把照片上传到github上,然后就可以引用图片的地址直接在浏览器里打开浏览了,当然这个url地址放到你的代码,html也完全没问题。只是一般的方式访问github的资源,速度较慢。通过jsDelivr 加速,速度就快得飞起了。

​ jsDelivr是什么玩意?真有这么神奇的功效?

​ 你别说还真有!jsDelivr是针对github的内容进行加速的开源库(代码托管在 github上),使用jsDelivr来对资源进行加速,也非常简单!

1
https://cdn.jsdelivr.net/gh/用户名称/仓库名称@版本号/目录

​ 比如:
https://cdn.jsdelivr.net/gh/grofis/grofis_images@main/2020-10/kM03QcKPkSFiKUm.jpeg

  1. 对网站进行加速。配置netlify之后,速度会变慢。因为netlify是外国人搞的东西,和国内不是一个环境,这相当于把内容放到国外(github也是国外网站,如果你喜欢用国外的产品推荐使用国内的码云gitee),然后国内要访问就通过优化后的cdn节点进行访问,目前使用的免费cdn是cloudflare,提升作用并不明显,可能真要加快访问速度,需要使用付费的CDN。

    加速前加速前

    加速后加速后

但最终的测试结果却有点令人大跌眼镜,加速不仅没有加快访问速度,从数据上来说,使用cloudflare后速度反而变慢了。这是为何呢?

两方面原因造成了cloudflare加速之后反而变慢了,一个是因为cloudflare的服务器在国外,从国外给国内加速这种事,我想想都难;那为什么我当初还选择cloudflare呢?因为它免费啊!国内有很多的cdn加速产品可以替代它,但在免费这点上,至少还替代不了!

​ 最后上一张目前所使用的工具图:

目前博客用到的工具链整理目前博客用到的工具链整理

​ 补充一下,最后CloudFlare加速的效果并不理想,72小时(缓冲时间)之后再 试试其他的方法。

  1. 最后的解决方法。 经过反复测试之后,还没有取到进展的情况下,我在v2ex网站上发帖求助,网友们纷纷建言献策,提出的针对性措施有以下几条:

    a. 通过github action解决自动部署的问题(自动打包)

    b. 通过vercel(看了下有点类似于netlify的功能,代码其实是托管在github上)

    c. 通过百度cdn加速(加速需要上传手持身份证,上传了一次没通过,放弃)

    d. 通过coding一站式代码托管和持续部署服务。

    最终选择了综合性最强,看似也最终的d选项,通过coding完成代码的托管和持续部署,换言之就是开头想要的上传代码即更新博客的目的达到了,庆祝一下。最后速测的结果一篇翻绿,虽然绿色不是什么喜庆的颜色,但对于访问速度来说,能给别人带绿还是很满足了!!!

    dns解析方式dns解析方式

  1. 域名解析过程中的提示。 目前尚不清楚没有备案的域名能否和coding的服务绑定(我的已经备案),我这里要说的是有没有www的前缀对访问产生的影响。在我们想要打开一个网址时,应该没有人主动输入前缀www,所以使 www.grofis.com 和grofis.com 同时能够访问博客很重要。
这个问题之前纠结过一下,通过把grofis.com解析到IP的方式解决了。但coding提供的是a.coding-pages.com这样的域名,也就是不给你IP地址,怎么在dns解析中解析grofis.com这种形式,就成了一个问题。



在跟客服多次沟通后才成功解决了,在此也分享下经验。其实www.grofis.com和grofis.com都可以同时解析到一个二级域名上(比如:a.coding-pages.com),而不需要一个二级域名,一个IP两者进行区分。只需要在解析时通过主机记录中的www和@(不是*,很容易混淆)进行区分就行了。

dns解析方式dns解析方式

文章同时也可以在公众号: 互联网工作者 上阅读。

扫码后在公众号上阅读扫码后在公众号上阅读