热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

想要测试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


推荐阅读
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • MATLAB实现n条线段交点计算
    本文介绍了一种通过逐对比较线段来求解交点的简单算法。此外,还提到了一种基于排序的方法,但该方法较为复杂,尚未完全理解。文中详细描述了如何根据线段端点求交点,并判断交点是否在线段上。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • 以下实例展示了locals( ... [详细]
  • andr ... [详细]
  • 本文详细介绍了VMware的多种认证选项,帮助你根据职业需求和个人技能选择最合适的认证路径,涵盖从基础到高级的不同层次认证。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • Composer Registry Manager:PHP的源切换管理工具
    本文介绍了一个用于Composer的源切换管理工具——Composer Registry Manager。该项目旨在简化Composer包源的管理和切换,避免与常见的CRM系统混淆,并提供了详细的安装和使用指南。 ... [详细]
  • PHP中去除换行符的多种方法及应用场景
    本文将详细介绍在PHP中去除换行符的各种方法,并结合实际应用场景进行说明。通过本文,您将了解如何根据不同操作系统的特点,选择最合适的换行符处理方式。 ... [详细]
author-avatar
860520430_a87a12
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有