测试环境介绍:

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的页面。