如何解决CentOS 5 host命令无效(-bash: host: command not found)的问题

当我们检查DNS设置的时候常常会用到host命令,但Centos5默认安装是没有这个命令的。
当显示-bash: host: command not found的时候,我们就需要安装对应的包了
host这个程序是 bind-utils包里面的
所以要先安装 bind-utils
yum install bind-utils 就ok了


如何用命令行查看DNS和开放端口

NSLOOKUP查看DNS
nslookup
Default Server: www.murray.cn
Address: 202.99.160.68
>server 202.99.41.2 则将DNS改为了41.2
> www.murray.com
Server: ns.hesjptt.net.cn
Address: 202.99.160.68
Non-authoritative answer:
Name: www.murray.com
Address: 202.99.160.212
nbtstat探测对方对方计算机名,所在的组、域及当前用户名
nbtstat -a 192.168.10.146
netstat -a 显示出计算机当前所开放的所有端口
netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等
探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
arp -a


大中型网站架构

排名前几位的网站,都拥有成千上万台服务器,如何协调这些服务器之间的工作负载,如何统一指挥调度,如何维护这些服务器硬件都是棘手的挑战。
负载均衡:
负载均衡是所有大中型网站必备的部署。显然,大型网站每天上千万独立IP的访问量,一个Web服务器根本承担不了,网站后台必需有多台服务器共同工作,因此各种负载均衡技术就应运而生了。
较早的负载均衡是DNS负载均衡。原理很简单,只要在域名解析的时候,将多个地址配置成同一个域名,负载均衡就完成了。不同用户点击同一个域名的时候,实际上只解析给用户一个地址,这样用户实际上访问的是不同的Web服务器,就减轻了每个服务器的负担。这个DNS负载均衡方法,一般而言是随机抽取地址。DNS负载均衡早期被广泛使用,优点是简单易用,但是DNS负载均衡还是有一些问题存在。如果某一台服务器发生了故障,而DNS的下一个刷新周期又没到,这样就可能导致某些用户无法访问站点的情况发生。而另一个缺点在于DNS负载均衡随机性太强,比如一段时间内众多访问都被指向同一个地址,而另外的地址却闲置,就造成了局部繁忙的不良现象。而且有时某处服务器正在运行其他应用而处于繁忙状态,DNS负载均衡也无从得知,而依旧平均的解析域名。
稍微复杂一点的负载均衡,是反向代理,当外部有请求到代理服务器,代理服务器再将该请求均匀的转发到内网的服务器上。这种方式被广泛采用,比如说上面提到的又拍网yupoo.com,就采用了nginx作为反向代理。此外,现在还可以购买专业的硬件设备,比如 Plentyoffish.com(全球最大的婚介网站)就采用了网捷网络公司的Web交换器ServerIron作为硬件负载均衡,ServerIron 能够有效地处理 16,000,000个并发连接,并且可以改善服务器负载均衡和缓冲转换,像ServerIron这类的硬件产品并非只有网捷一家提供,由于大型网站预算充裕,因此也可以选择一些其他的硬件设备来做负载均衡。当然了,我们也别忽略了最基本的软件负载均衡——Windows Server就带有这样的功能。
负载均衡还有一个极为简单的方法,就是建立镜像站点。比如华军软件或者天空软件,都直接采用了镜像站点。这个方式很直接,省去了很多麻烦。以华军软件园为例,登陆华军软件园的时候,我们将有多种选择,可选电信、网通等网络;而下载某一软件的时候,为了使用户得到更快的速度,天空和华军在中国各地都安排了服务器,可以提供距离最近的下载服务。不过,也有一些麻烦,就是每一次选择都是人工手动选择。总之,这一系列负载均衡方法,都得以让大型网站的负载均匀,不会有哪个服务器有太大的压力。
CDN:
CDN( Content Delivery Network),内容分发网络也是大型网站必备的部署之一。CDN的原理不难理解,就是将网页内容存放到离用户更近的缓存服务器上,减少路由,从而加快远距离的访问速度。比如说,你随意登陆一个国外小站,速度可能很慢。因为国外网站到国内的最终客户端的路径冗长,但是如果你登陆部署了CDN的网站,比如 Plentyoffish.com,你会发现速度非常快,跟国内的网站访问速度差异已经无法从感知上判断。依照Cache存放的位置不同,CDN也有一些类别,不同的网站会根据具体需求,有不同的选择。CDN通常是由独立的CDN商提供的。举一个例子,就是网易,我的查询时间是2008年2月28日,我们发现,同一个域名下的有很多个IP地址,这就说明了首页CDN的部署。
C:\>nslookup?www.163.com
Server: ns.lnpta.net.cn
Address: 202.96.64.68
Non-authoritative answer:
Name:?www.cache.split.netease.com
Addresses: 202.108.9.37, 202.108.9.38, 202.108.9.39, 202.108.9.51
202.108.9.52, 202.108.9.31, 202.108.9.32, 202.108.9.33, 202.108.9.34
202.108.9.36
Aliases:?www.163.com
而我们如果查询一个简单的个人网站,则不可能有CDN;另外,如果有兴趣,我们也可以仔细察看一个网站多个二级域名的CDN情况。
平台设计:
大型网站一般都有着非常复杂的与用户交互的内容,必须大量调用数据库,因此一个完善的数据库设计对于大型网站非常重要。例如上面提到的 Plentyoffish.com,这个站其实是个人网站,但流量大的惊人,该网站有一个主要的数据库,两个搜索数据库,早些时候,plentyoffish.com的数据库设计问题频频,经常到数据库堵塞,所以站长花费时间最多的地方就是数据库优化。数据库优化没有什么特别的捷径,其实很少有一次成型的完美数据库构建,只能是按照特定的需要来设计数据库,如有不足再去着手改进。不过大型网站还是有一些共性,比如说图片存储单独使用图片数据库,尽量使用静态页面来减少数据库调用等等。
还有很多大型网站,都有着非常深厚的技术实力,可以开发属于自己的平台。比如说谷歌,Google.com就有着自己独特的平台,主要包括 GFS、MapReduce和 BigTable。因为海量数据存储,所以常规的数据库调用查询是非常恐怖的,每次查询都将调用百亿个页面,成千上万个并发检索足以使得谷歌系统崩溃,因此Google File System将大量页面以独特的方法压缩之后再提供检索;整个系统一共包括超过两百个集群,再由MapReduce来协同作业。不仅仅谷歌,比如百度、中搜等等网站也都有自己研发的独特的平台。


诊断网站的通常步骤

一个网站为什么排名高,不一定能通过这些方法看的出来。但一般网站排名完全找不到,或怀疑被惩罚,可以通过这些步骤看出些端倪。
首先看域名Whois信息
注意域名第一次注册的时间,中间有没有注册人转手,这个Whois工具也可以显示所用的主机类型。
如果域名注册只是几个月,在Google排名上不去就很正常,不用往下查了。
检查网站DNS设置是否正确
我发现不少中国的服务器设置有问题,当然这并不必然影响排名,但某些服务器技术问题可能会影响搜索引擎对网页的抓取。
检查网站所在的IP地址上还有哪些网站
可以利用这个reverse IP工具来检查,随机挑几个域名,看一下在Google,雅虎,百度的收录情况。如果这些网站收录都有问题,可能预示着这个IP已经有问题。
用雅虎检查网站链接情况
用Yahoo! Explorer检查,如果反向链接里有大量明显的论坛,博客,留言本垃圾链接,这不是一个好现象。
检查收录情况
在Google,雅虎,百度检查网页收录情况,是否有大量补充材料。
网站首页和几个主要栏目页的直观感觉
这个可能更多的靠经验。比如首页底部是不是有大量的友情链接,这些友情链接如果还恰巧在同一个IP地址上,就更说明问题了。
再比如网页标题长度,是不是浏览器整个标题栏都没显示完?这是很多人最喜欢堆积关键词的地方,一般来说,20到30个字就已经足够了。
再看看描述标签,关键词标签是否有堆积的倾向?
检查是否有隐藏文字
按Ctrl A选择网页上的所有内容,这时候是不是能看到全选之前没看到的文字?看一下CSS文件中有没有把文字大小设为零,放在不可见的layer,或放在屏幕不能显示的位置?
网站结构和网址静态化
有不少网站URL中带一大堆问号,却在纳闷为什么收录情况不好。
检查是否有多个域名指向同样的内容
选取网页上某些特定的句子,比如版权信息,联系电话,QQ号码等,在Google和百度搜索一下。有的时候会发现同样的公司名称,电话号码会出现在多个网站上,再去这些网站上看看内容,竟然完全一样。这样的网站被惩罚也就不足为奇了。