Linux下利用Squid构建高速的ProxyServ |
发布时间: 2012/8/11 11:04:10 |
一、什么是ProxyServer(代理服务器),Proxy的作用
在真实世界中我们常常会去帮人家办一些事情,例如帮人家交电费什么的,在这种情况下你不是电表的主人,而是代办者(代理者)的身份。在网络世界中Proxy就是相当于那个帮人家交电费的人了,当我们发出连接请求的时候,就会通过Proxy去帮我们直接与目标服务器沟通,帮我们取得资料。 client通过ProxyServer上网的步骤如下: ①client端向Server发出请求。 ②Server收到请求后比较判断Cache中时候存在client想要的资料,如果没有则向远程Server发送数据请求。 ③将请求回来的资料先存放到Cache中,再将资料传送给client端。 ④当client发出的请求中所需要的资料在Cache中有,则将Cache中的资料直接传送给client端。 虽然当第一访问这向Proxy请求的数据Cache中没有时,Proxy抓取数据后会先保存在Cache中,这样访问速度变慢了,可是第二个访问者以及后来的访问者需要该资料的时候,proxy都不要想远程服务器请求,直接将cache中的资料发送给后来的请求者就行了,这样就减少了连接远程服务器的流量,另外由于proxy是在本地的,所以传输速度也更快。 二、使用Squid在构建ProxyServer 本文中笔者所使用的环境是: 操作系统:Redhat9.0,内核:2.4.20-31.9,其他系统套件已经通过apt更新到最新了。 1.编译安装Squid 由于Squid对系统硬件要求比较高,所以我们安装的时候应尽量优化。 CODE:#groupaddsquid#useraddsquid添加suqid用户和用户组 CODE:#exportCFLAGES=‘-O2-mcpu=pentium4-march=pentium4-mmmx-msse-msse2’ 可以根据你的CPU选择相应的参数GCC-3.1以上可針對CPU最佳化:
prefix=/usr/local/squid:指定软件的安装路径enable-gnuregex:由于Squid大量使用字符串处理做各种判断,加入此项能更好的处理。 enable-icmp:加入icmp支持。 enable-kill-parent-hack:关掉suqid的时候,要不要连同父进程一起关掉,这个当然要啦。 enable-snmp:此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP接口。 disable-ident-lookups:防止系统使用RFC931规定的身份识别方法。 enable-cahce-digests:加快请求时,检索缓存内容的速度。 enable-arp-acl:可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。 enable-err-language="Simplify_Chinese"和enable-default-err-languages="Simplify_Chinese":指定出错是显示的错误页面为简体中文 enable-poll:应启用Poll()函数而不是select()函数,通常而言poll(轮询)比select要好,但configure(脚本程序)已知Poll在某些平台下失效,若你认为你比configure编译配置脚本程序要聪明的话,可以用这个选项启用Poll。总之就是用这个可以提升性能就是啦。 enable-linux-netfilter:可以支持透明代理 enable-underscore:允许解析的URL中出现下划先,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址。 这里我们就安装好了,接下来就是修改配置文件了。 2.修改定义配置参数 下面是我的squid.conf文件
本文出自:亿恩科技【www.enkj.com】 |