Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 教程 > Linux教程 > 正文

第十九章 配置squid服务

时间:2014-09-10 22:07 来源:未知 作者:www.51ou.com 阅读:
【什么是squid】
Squid是比较知名的代理软件,它不仅可以跑在linux上还可以跑在windows以及Unix上,它的技术已经非常成熟。目前使用Squid的用户也是十分广泛的。Squid与Linux下其它的代理软件如apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。
Squid的缓存功能相当好用,不仅可以减少带宽的占用,同样也大大降低了后台的WEB服务器的磁盘I/O的压力。Squid接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。
Squid将数据元缓存在内存中,同时也缓存DNS查寻的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽。
Squid对硬件的要求是内存一定要大,不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI 硬盘,处理器要求不高,400MH以上既可。
【安装squid】
wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE20.tar.gz
tar zxvf squid-2.6.STABLE20.tar.gz
cd squid-2.6.STABLE20
ulimit -HSn 65535
useradd  squid
编译参数
./configure --prefix=/usr/local/squid \
--disable-dependency-tracking \
--enable-dlmalloc \
--enable-gnuregex \
--disable-carp \
--enable-async-io=240 \
--with-pthreads \
--enable-storeio=ufs,aufs,diskd,null \
--disable-wccp \
--disable-wccpv2 \
--enable-kill-parent-hack \
--enable-cachemgr-hostname=localhost \
--enable-default-err-language=Simplify_Chinese \
--with-build-environment=POSIX_V6_ILP32_OFFBIG \
--with-maxfd=65535 \
--with-aio \
--disable-poll \
--enable-epoll \
--enable-linux-netfilter \
--enable-large-cache-files \
--disable-ident-lookups \
--enable-default-hostsfile=/etc/hosts \
--with-dl \
--with-large-files \
--enable-removal-policies=heap,lru \
--enable-delay-pools \
--enable-snmp \
--disable-internal-dns

make && make install
关于squid的版本,有必要提一下,目前squid最新版本已经到了3.1了,但是笔者认为2.6版本比较好用,如果你有兴趣可以研究一下3.1。
【squid配置】
编辑配置文件 /usr/local/squid/etc/squid.conf
把原来配置文件删除,替换成:
http_port 80 transparent

cache_replacement_policy lru 

修改完配置文件后保存,然后初始化squid
mkdir /cache1  /cache2 /var/log/squid
chown -R squid:squid /cache1 /cache2 /var/log/squid
/usr/local/squid/sbin/squid  -z  

nohup /usr/local/squid/bin/RunCache &
启动后,可以去看看cache.log 在这个日志中,你可以看到很多关于squid的信息,当然也包括一些错误日志。
如果想开机启动则需要在/etc/rc.d/rc.local中最后加入一行
/usr/local/bin/RunCache &
到这里算是配置完成了,但是还有一个问题,就是如何定义被代理的web以及域名?单单看配置文件并没有说代理的web是哪一个。确实,这个配置文件其实可以代理多台web,只要你在/etc/hosts中定义要代理的域名以及IP即可,hosts格式在前面已经介绍过。笔者要提醒你的是,如果是一台web上的多个域名,请不要写一行,虽然hosts是允许的,但是如果写成一个IP对应多个域名,squid代理时就会出错。所以有几个域名就要写几行。
更改/etc/hosts后要重启squid才能生效:
/usr/local/squid/sbin/squid  -krec
在重启前可以先检测一下,是否有错,命令为:
/usr/local/squid/sbin/squid –kcheck
如果没有错,则不会显示任何信息,否则会显示一些信息出来。

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《第十九章 配置squid服务》技术文章,《第十九章 配置squid服务》详细使用和说明,有时《第十九章 配置squid服务》可能不完善、敬请谅解!如果《第十九章 配置squid服务》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片