测试环境介绍:
1.Cent os 5.5 64bit english * 2 (一台安装Apache,一台安装Squid)
2.Squid 3.3.8 64bit english
备注:Cent OS 系统安装,配置;Apache的安装,配置不在本次讨论范围之内。
Squid安装配置过程:
第一步:安装开发工具
# yum groupinstall "Development tools"
当然你也可以在安装操作系统的时候选择安装开发工具套件。
第二步:安装Squid 3.3.8
# cd /usr/local/src
# wget http://www.squid-cache.org/Versions/v3/3.3/squid-3.3.8.tar.gz
# tar -zxvf squid-3.3.8.tar.gz
# cd squid-3.3.8
# ./configure --prefix=/usr/local/squid
#make && make install
第三步:更改squid目录权限
#chmod 777 /usr/local/squid/var/logs
#chmod 777 /usr/local/squid/var/cache/squid
这个操作主要为了让squid程序创建相关的文件。后面会利用到。
第四步:配置squid
# vi /usr/local/squid/etc/squid.conf
打开squid.conf文件后,把下面这行前面的#去掉。
cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256
100:表示squid最大可以缓存100MB的文件。
16,256 :表示squid目录下第一级文件目录数量和第二级目录数量。
这里的参数调整应该是很有学问的。我们这里做测试,就不去太多关注。
然后在squid.conf文件的最后面,添加如下内容。
http_port 80 accel vhost vport
cache_peer 172.16.11.6 parent 80 0
http_access allow all
保存后关闭。为了验证你的内容是否正确,执行下面的程序验证一下吧。
#/usr/local/squid/sbin/squid -k parse
此时可能会提示如下错误:
2013/07/30 17:58:39| WARNING: 'Cache01' rDNS test failed: (111) Connection refused
2013/07/30 17:58:39| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.
不要紧张,这个提示你,使用DNS解析不到你自己的主机名和IP地址对应关系。你有两个选择,一个是在dns服务器上创建本机的A记录,或者在本地的hosts文件中创建一个本机的A记录。下面是hosts中创建的A记录:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 FORCOPY localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
172.16.11.4 Cache01
此时你再执行一遍#/usr/local/squid/sbin/squid -k parse,就一切OK了。
第五步:创建cache缓存文件夹。
#/usr/local/squid/sbin/squid -z
此时你会看到系统自动创建如下的文件夹:
[root@Cache01 squid]# 2013/07/30 18:45:35 kid1| Creating missing swap directories
2013/07/30 18:45:35 kid1| /usr/local/squid/var/cache/squid exists
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/00
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/01
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/02
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/03
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/04
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/05
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/06
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/07
2013/07/30 18:45:35 kid1| Making directories in /usr/local/squid/var/cache/squid/08
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/09
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/0A
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/0B
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/0C
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/0D
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/0E
2013/07/30 18:45:36 kid1| Making directories in /usr/local/squid/var/cache/squid/0F
数一下,果然是16.这里和上面的squid.conf中配置的参数时一致的。
第六步:启动squid。这步是最容易的了。
#/usr/local/squid/sbin/squid
使用netstat查看80端口是否启动,3128是否启动。
第七步:使用客户端访问squid服务器,看看是否可以看到apache的页面。