当前位置: 首页 > 图文教程 > 服务器 > DNS服务器 > 用DNSPod和Squid打造自己的CDN(八)

DNS服务器
来龙去脉分析 深入研究DNS原理
详细讲解如何进行DNS故障排除
Win 2K动态DNS的安全考虑
DNS MX 记录查询方法
问答之间,DNS疑惑灰飞烟灭
解读影响网站稳定性的重要因素:DNS
Windows服务器宝典一式:DNS调教技巧
设置过多DNS服务器地址的问题
DNS完全解惑问答
微软的AD与非动态DNS
让windows自带的DNS服务支持泛解析
在SUN机器上设置DNS客户端DNS
零起步搞定DNS(网络域名)的解析故障
Win2000之DNS服务器的设置
windows server 2003之DNS
解答:巧设DNS提高系统登录速度
讨论一下智能DNS问题
如何配置Win 2003的DNS服务器
一步步从Win2k DNS 移植到 Linux 下
微软交流:关于DNS的不完全总结

DNS服务器 中的 用DNSPod和Squid打造自己的CDN(八)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 33 ::
收藏到网摘: n/a

第 8 章 测试并运行Squid
1.前期准备
想要测试Squid是否正常,必须要先把www.naizhao.com这个域名解析到2.2.2.2这个IP上。跟上一章一样,如果你是网通用户就不需要做任何操作,DNSPod会给你返回2.2.2.2这个IP。如果你是电信用户,或者解析出来的IP不是2.2.2.2,那么就要修改系统的hosts表,对应记录添加进去。跟上一章不一样,上一章修改的是Squid服务器的hosts表,你现在需要修改的是你用来测试Squid的系统的hosts表。
除了修改hosts表外,我们还需要一个名为curl的小工具。一般的Linux/Unix系统都附带了这个工具,如果使用Windows,那么需要到下面的地址下载一个,并且放到D:\(或者其他地方,自己喜欢)。
http://curl.haxx.se/latest.cgi?curl=win32-nossl (32位系统)
http://curl.haxx.se/latest.cgi?curl=win64-nossl (64位系统)
下载回来解压后,我们只需要一个curl.exe。

2.运行Squid
我们继续用上一章的方法,用调试方式启动squid
cd /usr/local/squid/sbin
./squid -Nd 1
然后打开浏览器,输入http://www.naizhao.com,看输出的网页是否正确。
如果能显示出正常的页面,那么说明squid已经正常运行了。但我们还需要确认一下,所需要的页面是否已经被squid缓存了。

3.测试Squid
我们使用curl,输入下面的命令(Windows用户请使用命令行来运行curl)
curl -I http://www.naizhao.com/

HTTP/1.0 200 OK
Date: Sun, 08 Jul 2007 12:16:27 GMT
Server: NaiZhao Web Server/1.0.0
Last-Modified: Wed, 13 Dec 2006 06:11:14 GMT
ETag: "7665b-1983-4417e480"
Accept-Ranges: bytes
Content-Length: 6531
Vary: Accept-Encoding
Content-Type: text/css
Age: 29155
X-Cache: MISS from cnc.naizhao.com
Via: 1.0 cnc.naizhao.com:80 (squid/2.6.STABLE13)
Connection: close

我们留意输出的内容,下面一行内容表示并没有命中缓存。也就是并不是从缓存中读取所需文件。一般第一次访问一个文件的时候,出现MISS是正常的,因为本来文件就不存在于缓存中。
X-Cache: MISS from cnc.naizhao.com
然后,我们重新运行一次命令,继续看输出的内容
curl -I http://www.naizhao.com/

HTTP/1.0 200 OK
Date: Sun, 08 Jul 2007 12:16:27 GMT
Server: NaiZhao Web Server/1.0.0
Last-Modified: Wed, 13 Dec 2006 06:11:14 GMT
ETag: "7665b-1983-4417e480"
Accept-Ranges: bytes
Content-Length: 6531
Vary: Accept-Encoding
Content-Type: text/css
Age: 29155
X-Cache: HIT from cnc.naizhao.com
Via: 1.0 cnc.naizhao.com:80 (squid/2.6.STABLE13)
Connection: close

可以看到,这次的输出已经是HIT了。也就是表示,内容是从缓存中读取的。
如果第二次访问仍然是MISS,那么你就要检查下网页是否限制了缓存。可以从下面几个方面入手:

Last-Modified: Wed, 13 Dec 2006 06:11:14 GMT 检查这行是否每次访问都变化。如果一直变化,说明页面是动态的,并不合适squid缓存。squid在每次请求的时候都会检查这行,判断页面是否已经过期,并且对过期的页面重新获取。

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 这行是负责控制缓存。no-store、no-cache、must-revalidate等都是要求squid禁止缓存内容,并且在每次请求的时候都去验证页面是否过期。

Expires: Thu, 19 Nov 1981 08:52:00 GMT 过期时间如果大于当前时间,也会被认为是页面已经过期,需要重新获取。这样的页面也不会被缓存。

Pragma: no-cache 这句也是禁止缓存。

大家可以按照上面的内容进行自查自纠,根据实际需求对网站进行修改即可。
确认没有问题后,我们就可以让Squid正式跑起来了。

4.正式运行Squid
ulimit -Hs 65536
ulimit -n 65536
./squid
直接使用上面的命令就可以让squid跑起来了。
跑起来后,输入http://www.naizhao.com看看访问是否正常。

5.让Squid跟随系统启动
CentOS让Squid跟随系统启动很简单,只需要编辑/etc/rc.local,在最后加上下面内容即可
ulimit -Hs 65536
ulimit -n 65536
/usr/local/squid/sbin/squid