建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
大型网站的域名分布策略
发布日期:2010-08-09 阅读次数:1078 字体大小:

    耗子的一个网站,目前流量越来越大,有打算使用多台服务器的计划,但发现当年的一些域名策略,现在处理起来有点小麻烦。

    以前有一个站,网站使用的www.abc.com的域名,其中bbs目录下有一个论坛,这个论坛现在流量太大,而根目录相比起来流量要小得多。现在想把bbs移动到一台新服务器上,发现问题来了。目前我知道的有两个方法:

    一是将这个论坛使用bbs.abc.com的二级域名。但这样严重影响seo,以前所有收录的页面都会出现路径错误。当然,可以使用301转向来解决。但这又有一个问题。这是跨域名的301转向,我需要将www.abc.com/bbs下的所有路径跳转到bbs.abc.com上,一则原来的www.abc.com这台服务器仍然要处理大量请求,二来可能被搜索引擎认为是PR劫持。

    二是使用nginx来做负载均衡,通过dns轮循的方式处理请求。这也有问题,一是我对做负载均衡没有经验,有技术障碍。二是nginx虽然做负载很好,但它主要是用来在linux环境下跑PHP的。还好我的网站程序都是php。但假如某人的站用到了多种语言,比如主站是asp或者.net的,但论坛又是php的,那么问题就来了:asp/.net现在虽然有组件支持在linux下跑,但性能不敢保证。同样php在windows下跑,性能也会大打折扣。

    那么网站早期在运营的时候,就应该考虑到正确的域名分布策略是非常重要的。以下是我的一些想法,算是我自己对过去教训的总结:

    将不同的应用或者频道使用不同的二级域名

    比如主站用www,论坛用bbs,博客用blog,新闻用news,新闻评论页用comment的二级域名。

    优点:这样的好处当然不用多说,基本上所有的门户站都采用这样的域名分布策略。一则可以将不同频道合理划分,以便让不同的团队分别运营。二则可以很好的进行权限管理。避免个别团队掌握太高的管理权限而产生安全风险。三则提高频道的可信度。比如百度有啊使用youa.baidu.com,人们都知道这个域名是baidu的,可信度当然更高。另外也能实现跨平台的开发。比如主站和新闻可能用.net开发,因为IIS在处理静态页时貌似性能更有优势。而微博这样的应用可以使用php、ruby或者java开发。因为在处理动态网页,linux和unix下的nginx、tomcat似乎可强。不过这也只是民间的感受,目前还没有哪个完整的理论来证明。避免为了兼容程序,在同一系统中通过插件等方式跑程序。微软的.net,肯定在他自己的windows平台下更有优势。

    图片等附件使用不带cookies的图床域名

    有人要问为什么不把图片放在img.abc.com这样的二级域名下面。原因是这样的域名有cookies,而附件只需要静态路径就可以了。无cookies的图床速度会更快。仔细观查一下:腾讯使用gtimg.com,新浪使用了sinaimg.cn,网易使用了netease.com的域名做图床。而都不用主站的二级域名。耗子的鸡鸡歪歪目前也使用了tu.ti.mu的第三方域名来做图床了。将程序和附件分离,可以减少对主服务器的http请求,让它干更重要的事,对于加快网站打开是很用用处的

    对于图床域名的选择没有什么要求,因为在普通用户都是很难发觉的。尽量找个短点和主站有点名字关系的就好了。域名短点,可以减少网站代码的体积。虽然省不了几B,但对于大站来说,节省的流量就不小了。

    另外,如果你不想你的图片和mp3等文件被搜索引擎收录,可以在图床下写个禁止蜘蛛抓取的robot,或者干脆使用非80端口。

    站内尽量也使用绝对路径

    这是seo研究者的观点,目前尚有争论。和我提倡的代码尽量简短有出入,相对路径肯定能简省网页的体积。程序在开发的时候,可以事先定义一个域名变量,模板制作的时候加上。在网站如果须要换域名的时候,直接修改这个变量,然后重新生成一下整站就可以了。

    广告平台的域名选择也很有讲究滴哦!

    以前经常泡的本地的一个论坛,丫的广告太多了,整屏整屏的flash和gif,还有弹窗。后来发现他所有的广告都放在ad.abc.com这个二级域名下,乐了,直接host里屏蔽这个二级域名,世界一下子就清净啦!gia~gia~

    对于广告,可是网站的衣食父母,如果这么轻易地被K肯定会让网站主郁闷。广告域名我考虑的有两种方法,一是和主站放在同一域名下,这样他就不敢屏蔽了。或者使用动态技术,随机更换不同的域名。这方方式有弊端,一是你的域名个数毕竟有限,域名也是要成本的。二是可能影响到广告统计。比较流氓的做法是不使用域名直接使用IP,这样就无法用host表来屏蔽了,像电信的广告,就是使用IP的,不过解决方法依然很多。最流氓的方式是IP+端口。目前很多家庭路由器只能屏蔽指定IP的80端口,如果你放在一个陌生的端口中,就可以绕过路由了。

    域名多了,记得续费

    这属于废话了,不过我也遇到过,我们公司有一个域名,是用来做别名解析的,上次大量客户反映网站打不开,原来这个域名竟然忘记续费了。还好域名有赎回期,赶紧一次性续费了十年。

    缺点:

    一是如果你早期网站使用虚拟空间的话,一般是不支持你多域名解析到子目录的。我建议前期如果想做大,就不要在意这点钱,买个vps或者多买几个空间也投入不了多少。

    二是如果你是在国内注册的域名,可能就杯具了,这个耗子在以前的博客中也提到过国内注册域名的风险。国内很多域名注册商不支持你修改DNS,而自己的DNS提供的二级域名个数甚至还有限,你要是想多分配几个域名或者做DNS智能解析都会出问题,可能要额外投入。不要拿爱不爱国,支不支持国内企业说事,我只就事论事