用DNSPod和Squid打造自己的CDN (八) 测试并运行SQUID

2019-10-14 22:35:51丽君

  然后,我们重新运行一次命令,继续看输出的内容

  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