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

 更新时间:2013年04月20日 01:08:00   作者:  
想要测试SQUID是否正常,必须要先把www.naizhao.com这个域名解析到2.2.2.2这个IP上。跟上一章一样,如果你是网通用户就不需要做任何操作,DNSPod会给你返回2.2.2.2这个IP
第 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

相关文章

  • Apache Iceberg 底层数据查询原理解析

    Apache Iceberg 底层数据查询原理解析

    Apache Iceberg是一个开源表格格式,用于大型分析数据集,本文主要介绍了如何通过快照、Manifest文件和元数据文件查询Iceberg表的数据,通过解析元数据文件获取当前表的快照ID,进而读取对应的Avro文件和Manifest文件中的Parquet数据文件,感兴趣的朋友一起看看吧
    2024-09-09
  • Apache虚拟目录配置及vue-cli反向代理的设置方法

    Apache虚拟目录配置及vue-cli反向代理的设置方法

    本篇文章主要介绍了Apache虚拟目录配置及vue-cli反向代理的设置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Linux实现修改只读文件(以设置自动连网为例)

    Linux实现修改只读文件(以设置自动连网为例)

    这篇文章主要介绍了Linux实现修改只读文件(以设置自动连网为例),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Linux中的awk命令全解析

    Linux中的awk命令全解析

    这篇文章主要介绍了Linux中的awk命令全解析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • VirtualBox下Centos6.8网络配置教程

    VirtualBox下Centos6.8网络配置教程

    这篇文章主要为大家详细介绍了VirtualBox下Centos6.8网络配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Linux虚拟机中node.js之开发环境搭建

    Linux虚拟机中node.js之开发环境搭建

    这篇文章主要介绍了Linux虚拟机中node.js之开发环境搭建,有需要的朋友可以了解一下。
    2016-11-11
  • Centos8下django项目部署 nginx+uwsgi的教程

    Centos8下django项目部署 nginx+uwsgi的教程

    这篇文章主要介绍了Centos8下django项目部署 nginx+uwsgi的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Linux一键安装xdd plus机器人

    Linux一键安装xdd plus机器人

    大家好,本篇文章主要讲的是Linux一键安装xdd plus机器人,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • linux引导系统的方法分析

    linux引导系统的方法分析

    这篇文章主要介绍了linux引导系统的方法,总结分析了Linux引导系统相关原理、操作命令与注意事项,需要的朋友可以参考下
    2020-03-03
  • Ubuntu/Debian 自有软件包构建私有源详解

    Ubuntu/Debian 自有软件包构建私有源详解

    这篇文章主要介绍了Ubuntu/Debian 自有软件包构建私有源详解的相关资料,这里介绍详细步骤,需要的朋友可以参考下
    2016-11-11

最新评论