当前位置:A5D软件园网络学院服 务 器代理服务器 → 网络学院内容

Squid 服务器的配置

订阅:
减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-6-4 16:02:16

环境
OS:RedHat Enterprise linux 4 内核:2.6.9-11.EL         Squid 版本:squid-2.6.STABLE9.tar.gz
Squid server ip address : eth0: 192.168.0.2 
Client : windows 2000 professional    ip address:192.168.1.120
Client: windows xp pro  ip address:192.168.0.4
一、        安装 Squid
# groupadd squid
# useradd –g squid squid
添加 squid 组和用户,如果系统内置有,可以免却这一步,可以到 /etc/group & /etc/passwd 中查看。
解压 SQUID
# tar xzvf  /root/ squid-2.6.STABLE9.tar.gz
# cd  squid-2.6.STABLE9
# ./configure -–prefix=/usr/local/squid \
        --enable-gnuregex –enable-async-io=120 –enable-icmp \
        --enable-kill-parent-hack  --enable-snmp \
        --enable-ident-lookups –enable-cahce-digests \
        --enable-err-language=”simplify_Chinese”        \ --enable-default-err-languages=”Simplify_Chinese” \
        --enable-poll –enable-linux-netfilter –enable-arp-acl
/*参数设置解释= = = = = = = = = = = = = = = = = = = = = = == = = = = = = = == = == = = = = =
--prefix=/usr/local/squid  :指定软件的安装路径
--enable-gnuregex  :由于Squid大量使用字符串处理做各种判断,加入此项能更好的处理。
--enable-async-io=80 :这个主要是设置async模式来运行squid,我的理解是设置用线程来运行squid,如果服务器配置很不错,有1G以上内存,cpu使用SMP的方式的话可以考虑设成160或者更高。如果服务器比较糟糕就根据实际情况设了。另外此项还另cache文件支持aufs
--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 :可以支持透明代理
================================================*/
# make
# make install
修改 Squid 的配置文件 squid.conf
# vi /usr/local/squid/etc/squid.conf
http_port 3128         /*在第89行处*/
#默认情况下,公认的标准 PROXY 端口为3128       
#禁止缓存
hierarchy_stoplist cgi-bin ?                            /*在第729行处*/
hierarchy_stoplist -i ^https:\\ ?                           /*在第730行处*/
acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi   /*在第741行处*/
acl denyssl urlpath_regex -i ^https:\\                      /*在第742行处*/
no_cache deny QUERY                                 /*在第743行处*/
no_cache deny denyssl                                  /*在第744行处*/
#上面几个就是说遇到URL中有包含cgi-bin和以https:\\开头的都不要缓存,
#还有asp、cgi、php等动态脚本也不要缓存,
#因为这些脚本通常都是动态更新的,这样数据不同步。
#还有https://开通的不缓存是因为一般我们进行电子商务交易,
#例如银行付款等都是采用这个的,如果把信用卡号什么缓存那不是很危险。
cache_mem 24 MB                                             /*在第800行处*/       
#额外使用内存量,可根据你的系统内存在设定,一般为实际内存的1/3,默认是8MB
cache_swap_low 90                                             /*在第817行处*/
#最低缓存百分比
cache_swap_high 95                                        /*在第818行处*/ 
##最高缓存百分比,当磁盘缓存空间容量达到了总缓存容量的95%时,那么 Squid 将会自动地将缓存目录内容量降至上面设置的90%
maximum_object_size 4096 KB                              /*在第833行处*/
#单个文件最大缓存大小,超过这个大小将不缓存
maximum_object_size_in_memory 8 KB                      /*在第850行处*/
#在内存中单个文件最大缓存大小,超过这个大小将不缓存到内存中
#有DNS正反解所得到的IP存在缓存区的大小,这样可以加快解析速度
ipcache_size 1024                                 /*在第858行处*/
ipcache_low 90                                  /*在第859行处*/
ipcache_high 95                                 /*在第860行处*/
fqdncache_size 1024                             /*在第866行处*/
# LOGFILE PATHNAMES AND CACHE DIRECTORIES(定义日志文件的路径及cache的目录)
# -----------------------------------------------------------------------------

#  <cache_dir>; <aufs|ufs>; <目录所在>; <MBytes大小>; <dir1>; <dir2>;
#  那个 aufs 只有在编译的时候加入 --enable-async-io 那个选项才有支持,
#  至于目录所在地与所占用的磁盘大小则请视您的主机情况而定,
#  而后面 dir1, dir2 则是两个次目录的大小,通常 16 256 或 64 64 皆可,
#  一般来说,数字最好是 16 的倍数,据说性能会比较好啦!

cache_dir aufs /usr/local/squid/var/cache1 100 16 256              /*在第1055行处*/
cache_dir aufs /usr/local/squid/var/Cache2 200 16 256               /*在第1056行处*/
#日志存放位置
access_log /usr/local/squid/var/logs/access.log squid              /*在第1141行处*/

cache_log /usr/local/squid/var/logs/cache.log                     /*在第1149行处*/

#  TAG: cache_store_log
cache_store_log /usr/local/squid/var/logs/store.log                /*在第1159行处*/
#  TAG: pid_filename
pid_filename /usr/local/squid/var/logs/squid.pid                   /*在第1257行处*/
#用代理登陆匿名ftp服务选项
#  TAG: ftp_user
ftp_user Squid@                                           /*在第1305行处*/
#用户名
ftp_passive on                                               /*在第1320行处*/ 
  #被动模式
#认证
#auth_param basic children 5                            /*在第1817行到1832处全部注释*/ 
#auth_param basic realm Squid proxy-caching web server              
#auth_param basic credentialsttl 2 hours
#auth_param basic casesen

[1] [2]  下一页

赞助商连接