第 7 章 配置Squid
1.设置hosts表
首先我们要明白一下squid在CDN中扮演的角色。squid在CDN中其实只是一个代理+缓存。跟一般的代理服务器类似,squid代替用户向真正有内容的服务器进行请求,并且缓存下来。所不同的是,squid是作为一个类似apache一样的web服务器存在,用户访问的时候并不感觉到是访问了一台代理服务器,而是一个真实的web服务器。一般情况下,我们把这种方式称之为“反向代理”。
所以,我们需要让squid知道内容要到哪里去取。因为我们已经把域名naizhao.com设置了智能DNS,而且这台squid服务器也是网通的,按照正常的dns解析,会把naizhao.com解析为2.2.2.2这个IP(也就是网通机器本身)。但这个IP上面并不存在任何所需要的内容,所有需要的内容其实是在1.1.1.1上(源服务器)。所以我们需要为naizhao.com固定一个IP,也就是1.1.1.1。
让系统得到这个IP的方法有两种,一种是设置hosts表,另外一种是系统里面搭建一个dns服务器。Windows下大家应该会经常去编辑到hosts文件,linux下同样也存在这个文件,我们在前面的vim教程中已经提到过。搭建dns系统这个方法工程太过庞大,还是编辑hosts文件相对来说比较简单,所以我们就采用编辑hosts表的方法。
linux下面的hosts表位于/etc/hosts,格式跟Windows大致相同,打开后我们把下面一行加到末尾
1.1.1.1 naizhao.com www.naizhao.com cnc.naizhao.com
如果已经按照前面的教程,添加过1.1.1.1这条记录的,修改为上面的样子。
2.设置squid
squid的配置文件位于/usr/local/squid/etc/squid.conf,打开后会有英文的详细说明。暂时我们不需要去理解这个文件里面各个配置的含义,相信大家看到一大堆英文都会头大的。大家只需要知道如何把squid按照自己的需求跑起来,并且不出错就好。
我们先用rm命令把squid.conf删掉。不用怕删掉后找不回来,还有一个默认的squid.conf.default在呢。一般的linux程序,包括apache等,都会有一个.default的默认文件,方便大家恢复默认设置,或者作为一个修改的参考。
squid.conf删掉后,我们再用vi squid.conf,新建这个文件,然后把下面的内容帖进去,保存
http_port 80 vhost vport=80
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 1024 MB
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 256 KB
cache_dir ufs /var/spool/squid 20480 16 256
cache_swap_low 80
cache_swap_high 97
strip_query_terms off
request_body_max_size 5 MB
memory_pools on
memory_pools_limit 50 MB
access_log none
cache_log /var/log/squid/cache.log
cache_store_log none
pid_filename /var/run/squid.pid
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080








