本站架构

以前有个专业做网站的朋友(世界排名200以内),他说的很经典的一句话:半夜起来撒尿都得看看网站挂了没。

我这人特能折腾,而且有点完美情节,所以凡事务求最好,记录下折腾过程,可以让别人少走弯路:

 

前后经历了几次调整:

第一版:纯IIS/Apache。这是目前应用最多的方式,和很多人瞎胡吹的相反,在>=512M内存的任何VPS上,Win+IIS的稳定性都远远高于任何系统+Apache。Apache+fastcgi+wordpress的组合,时不时就崩了,apache进程都找不到了,还没有记录日志。

听过不少人说Linux多好,Apache多好,Nginx多牛B。对我而言,赚到口袋的才是我的钱,自己测试出来的才是真的。哥好歹也是独自一人运维过三个世界排名200以内网站的人,全都是Windows 2000/2003+IIS干的!而且只需要三五个服务器就行(WEB只一台,有一个网站的数据库独立一台,其他的全是图片和文件,比你想象的“架构”、“部署”、“实施”等等装B词汇简单多了吧?)。

对技术人员而言,学着考虑一些技术以外的东西,学着提升自己的格局,或有出头之日,人云亦云找成就感,那永远只能是个傻叼。

第二版:Apache+Varnish。当时我思索着,也许Apache的承载能力还是垃圾了点,所以前端整个纯内存的缓冲装备。结果么,其实性能还是提升了不少,毕竟varnish是纯内存缓冲,理论上其效率应该高于任何其他代理服务器。但,我无法理解的是,Apache还是时不时的崩,我就操了。

第三版:IIS+Varnish+Apache(HTTPS)。应该说,这一版的稳定性和处理性能都比较极限了,但有个不太好的地方,这一版至少需要两个服务器来运行,如果你没有这个条件而需要多买服务器的话,那其实挺浪费的。我这里是不太情愿的有这个条件,买了两个年付的,都是开局几天很好,过个把月就垃圾了,说多了都是泪,不过这两个年付的网络很不错,流量大,但计算性能很差,磁盘也很垃圾,所以我顺手把这两个做成Debian+varnish,这样一来网络可以,所以作为前端承载还是不错的,二来不需要读写磁盘,所以垃圾的vps也能起点作用了……这一版让我难受的是,依然需要通过Apache来代理HTTPS,所以其实当时我已经有了证书,但不太敢用。

第四版:在第三版的基础上加了节点监控+自动切换故障节点。这个也属于无奈之举了,垃圾vps正常的时候很正常,不正常的时候就跪了。这一版较大限度的降低了离线时间。

第五版:IIS+Varnish+Haproxy+CDN。首先,用Haproxy代替了Apache来搞https,就我自己感受而言,性能高了不是一点半点,而且我用的是tcp转发,这样可以少一轮SSL交互。这几天使用感受来说,cloudflare的免费服务真的都很不错了,如果后端web不是特别慢的话,这套架构基本实现了网页秒开,至少我这么能折腾的人觉得是满意了。

第六版:在上一版的基础上将HAProxy改为根据域名分载不同节点,其实暂时来说并无必要,但是过几天可能对服务器做一次调整,所以先把准备工作搞好。

第七版:Linux+Nginx+PHP+CDN。因为近期更换为配置较高的独立服务器,所以性能没什么压力了;也解决了之前的疑惑问题,一切都好了。

第八版:在上一版基础上取消了CDN,因为我发现cdn在周末的时候速度还不如自己的节点快。架构更改为Nginx前端缓存+Nginx & fastcgi后端故障迁移,也就是由自己来做CDN的节点了。

第九版:更换为FreeBSD系统,明显感觉比Linux强不少,特别是在低配机器上。同时将所有文件都放置于内存中,完全消除瓶颈。

 

我搞这博客什么的纯属无聊,我的服务器主要是用来传输外汇行情和美国金融市场行情的,不过平生也就两大爱好,一是赚钱,二是折腾计算机,所以还是任性了点……