建站的一些思考

从打算建站到完成(目前备案还没完成),大概用了三天时间,换了两个博客框架,期间学习到很多有意思的事情,比较遗憾的是现在才做这个事情。现在对技术的热忱达到了前所未有的高度~ 相信坚持下去,可以做的很好。记录下学习过程和掌握的知识。

域名+主机

域名和主机都是在阿里云买的,进行学生认证,9.9元一个月。最近腾讯在搞活动,10元1核2G一个月,可以一次买一年,最多续费两次,也就是三年。期间出现一次bug,在买完后降配置为1核1G,时间会加倍,也就是360可以买六年,相当划算了。结果第二天就被补上了,没能赶上~~ 现在还是买了两台主机,阿里和腾讯各一台,腾讯服务器放网站,阿里云用nginx做转发以及平时做linux学习。再加上可以在Docker免费申请胶囊主机,还是很方便了,这段时间对linux对使用多了,真切地感受到linux的便捷。

内容搭建

最开始其实考虑用typecho 模板,自己用LNMP搭建了一个,对docker也算是比较熟悉了,但实际使用中发现维护做的不是很好,加上本身对php不太熟悉,近期也没有再多去了解它的打算,就换成了现在使用的hexo,它的主题做得很不错的样子,可以用git同步,网站迁移也特别简单,之前从阿里云迁移到腾讯云,整个过程十分钟左右吧。docker安装+nginx容器+git安装+git hook文件+私钥修改,关于hexo的搭建过程看这里,讲的超级详细。使用文档这里讲的很详细。简单地学习hexo的使用后,用markdown就可以写出很不错的文章来,现在把自己学习到的东西统统整理到博客中,是个内化知识,专注思考的过程。

备案+网站安全

备案是不得不做的事情,我觉得本身这个事情是没有什么坏处的。那简单总结下对搭建自己的网站对安全性的考虑。

隐藏ip

这个我觉得是特别重要的事情了,不要把自己主机的ip暴露出去,可以通过配置CDN,将CDN服务商作为中间代理,同时还可以加速静态资源。关于CDN,百度加速乐提供免费的服务,当然肯定要先进行域名备案才可以的。我查询过,一般有几种情况在配置了CDN后还能找到真实ip。

  • DNS域名解析曾经配置过真实ip,能通过查询历史记录找到。
  • 部分子域名没有接入到CDN。
  • 网站上挂有主动发出请求的东西,类似于邮件回复。

基本上谨慎一点,别人就没有办法拿到主机的真实ip,如果连ip都拿不到,网站就几乎处于绝对安全的情况了。

当然也还是有比较有趣的方法可以做的,通过域名访问的默认是主机的80端口或者443端口。假设我用阿里的主机,那ip段基本可以确认,用工具进行扫描,写一个脚本应该就可以找到本站的主机。于是我考虑用阿里云的主机进行nginx转发,访问我腾讯云主机上的网站,并且不暴露80端口和443端口。这样真正使用的主机也就相对安全了。

静态内容

网站用静态文件,基本上就是由markdown生成的。没有任何数据库交互,没有执行脚本,如果加上评论功能,也完全使用第三方托管。因此基本上只要没有主机的0day,网站就绝对安全了。当然这种情况是考虑到真正的大牛是不屑于对这样的小站点感兴趣的啦~

流量控制和均衡负载

这部分是学习过程中了解到的知识,总结下。在生产应用中,大型的网站是必须考虑这个的。流量控制大概有这些方式去做

  • 同一域名绑定多台主机,可以采用一定的算法,自动分配流量的去向,主机上可以只提供服务,数据可以用集群的方式做同步,这样可以极大的缓解压力。这一点CDN其实也有类似的作用,总是从离用户最近的站点去访问,再针对性的配置主机,流量分发效果就很明显了。
  • 利用nginx做反向代理,将流量按不同访问服务进行分发。因此上一点中域名绑定的ip可以是配置了nginx的主机。然后再根据服务配置只负责某一服务的单一主机。
  • 再大一点的就会考虑换更好的设备啦,比如来一台F5。

通过这样的方式学习,应该能够很快速和完备的扩展知识吧~ 作为一个小白,努力向上,坚持学习,一定能成长为大牛的~

Fork me on GitHub