Linux下利用Squid构建高速的Proxy Server

来源: 作者: 2007-08-28 出处:pcdog.com

arp  jsp  linux  snmp协议  ssl  
下一页 1 2 

  一、什么是Proxy Server(代理服务器),Proxy的作用

  在真实世界中我们常常会去帮人家办一些事情,例如帮人家交电费什么的,在这种情况下你不是电表的主人,而是代办者(代理者)的身份。在网络世界中Proxy就是相当于那个帮人家交电费的人了,当我们发出连接请求的时候,就会通过Proxy去帮我们直接与目标服务器沟通,帮我们取得资料。

  client通过Proxy Server上网的步骤如下:

  ①client端向Server发出请求。

  ②Server收到请求后比较判断Cache中时候存在client想要的资料,如果没有则向远程Server发送数据请求。

  ③将请求回来的资料先存放到Cache中,再将资料传送给client端。

  ④当client发出的请求中所需要的资料在Cache中有,则将Cache中的资料直接传送给client端。

  虽然当第一访问这向Proxy请求的数据Cache中没有时,Proxy抓取数据后会先保存在Cache中,这样访问速度变慢了,可是第二个访问者以及后来的访问者需要该资料的时候,proxy都不要想远程服务器请求,直接将cache中的资料发送给后来的请求者就行了,这样就减少了连接远程服务器的流量,另外由于proxy是在本地的,所以传输速度也更快。

  二、使用Squid在构建Proxy Server

  本文中笔者所使用的环境是:

  操作系统: Redhat 9.0,内核:2.4.20-31.9,其他系统套件已经通过apt更新到最新了。

  1.编译安装Squid

  由于Squid对系统硬件要求比较高,所以我们安装的时候应尽量优化。

  CODE:#groupadd squid #useradd squid添加suqid用户和用户组

  CODE:#export CFLAGES=‘-O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2’

  可以根据你的CPU选择相应的参数GCC-3.1以上可针对CPU最佳化:

CODE:Pentium2: -O2 -mcpu=i686 -march=i686 -mmmx 
Pentium3: -O2 -mcpu=pentium3 -march=pentium3 -mmmx -msse
Pentium4: -O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2 
#./configure --prefix=/usr/local/squid --enable-gnuregex --enable-async-io=80 --enable-icmp --enable-kill-parent-hack --enable-snmp --disable-ident-lookups --enable-cahce-digests --enable-arp-acl --enable-err-language="Simplify_Chinese" --enable-default-err-languages="Simplify_Chinese"  --enable-poll --enable-linux-netfilter --enable-underscore
#make
#make install

  我个人安装软件都比较喜欢用源码包自己编译,觉得这样知道你自己在做什么,用rpm包好像不知道做什么的就安装好了。下面我们对各个编译参数进行解释,当然你可以通过./configure ——help来查看其他的参数,以及各个参数的英文解释。

  prefix=/usr/local/squid  :指定软件的安装路径enable-gnuregex  :由于Squid大量使用字符串处理做各种判断,加入此项能更好的处理。


更多内容请看PCdog.com--代理服务器软件  其他服务器专题
下一页 1 2 
上一篇:Linux的共享内存技术
下一篇:Linux嵌入应用:ARM体系结构的技术特征