Linux基本知识点总结——Squid

代理服务是一种特殊的服务,允许客户端通过它与另一个网络服务进行非直接的连接,也称网络代理。提供代理服务的计算机或其他类型的网络节点称为代理服务器,代理服务器中实现网络代理的软件称为代理软件。Linux中用到的代理软件是squid。

本实验平台为CentOS 6.2,环境为:

Squid服务器暨Apache服务器

主机名:itpro    IP地址:192.168.56.53

客户端测试机

主机名:station    IP地址:192.168.56.123

准备工作:


Httpd方面,

[root@itpro ~]# yum install httpd

[root@itpro ~]# chkconfig httpd on

[root@itpro ~]# service httpd start

同时,在/var/www/html/下创建一个index.html文件,内容随意,用于测试网页访问。

Squid方面,

[root@itpro ~]# yum install squid

[root@itpro ~]# chkconfig squid on

[root@itpro ~]# service squid start

[root@itpro ~]# ls /var/spool/squid/

(注:此时的缓存目录为空目录)

一、缓存设置


Squid主配文件/etc/squid/squid.conf中,有一行是用于指定缓存目录设置的,如下

cache_dir ufs /var/spool/squid 100 16 256

默认情况下被注释掉了,要将其前面的“#”删除,才能生效。

其中ufs表示缓存数据的存储格式;

/var/spool/squid 指缓存目录;

100 : 缓存目录占磁盘空间大小(M);

16 :缓存空间一级子目录个数;

256 :缓存空间二级子目录个数。


修改配置文件,将cache_dir ufs /var/spool/squid 100 16 256前面的#去掉,再重启服务,可以看到/var/spool/squid/下多了16个目录,每个目录里又有256个子目录。

[root@itpro ~]# service squid restart

init_cache_dir /var/spool/squid... Starting squid: ......  [  OK  ]

[root@itpro ~]# ls /var/spool/squid/

00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  swap.state

 


在客户端station,打开firefox浏览器,将其代理服务设置为192.168.53.56:3128,

然后访问http://192.168.53.56,能看到先前在服务器上创建的index.html的内容,

表明客户机station通过squid服务器itpro成功访问httpd服务器(也是itpro)。

刷新页面两次。

 


在服务器上查看squid访问日志,内容如下:

[root@itpro ~]# tail /var/log/squid/access.log

1368574347.237    23 192.168.56.123 TCP_MEM_HIT/200 427 GET http://192.168.56.53/ - NONE/- text/html

1368574350.174    23 192.168.56.123 TCP_IMS_HIT/304 291 GET http://192.168.56.53/ - NONE/- text/html

1368574354.157    23 192.168.56.123 TCP_IMS_HIT/304 291 GET http://192.168.56.53/ - NONE/- text/html

 


其中第一条记录的状态码为200,表示这是squid服务器第一次访问http服务器,由http服务器提供请求的页面。

第二、三条记录的状态码为304,表示网页内容未修改过,http服务器只返回响应,不返回页面内容,亦即客户端浏览器上看到的是squid里的缓存。

相关推荐