论坛风格切换切换到宽版
  • 1316阅读
  • 1回复

[问题求助][img]http://linux.chinaunix.ne [复制链接]

上一主题 下一主题
离线七郎仔.
 
发帖
2107
C币
-235752
威望
397
贡献值
2
银元
-2
铜钱
4687
人人网人气币
0
只看楼主 正序阅读 使用道具 楼主  发表于: 2009-05-01
作者:紫天星
时间:2002-9-25
来源:www.hackerabc.com.投资

Squid.是一种源代码开放的高性能代理缓存服务器。它可支持FTP,gopher和Http数据对象的代理。另外,Squid也支持SSL,多样化访问控制和代理请.求的完整日志功能。通过轻量级的网际缓存协议,Squid以网状或层次的方式分配内存,这样能节省额外的带宽。提供Http服务加速代理,Web服务器把Http数据推到Squid缓存中,外界的请求访.问可以通.过缓存提取.所需数据,实现Web服务器的动态镜像。电影
另外,为了实现对Squid服务器的监控,采用MRTG。MRTG 是 Multi Router Traffic Grapher. 的缩写,它主要的用途是监测网络服务设备的流量,并生成包括图片的.HTML文件,可以直观的显示网.络服务的流量.,以提供Squid缓存服务的监测。           鲜花
通.过Squid+MRTG可以配置一个完善的.代理服务提供方案。下面为具体配置步骤:.
一.基础准备
Squid下载地址:http://www.squid-cache.org .
版本:squid-2.4.STABL.E.4-src.tar.gz
MRTG下载地址:http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/           鲜花
版本:mrtg-2..9.22.tar.gz域名
机器配置为:256M内存,9G硬盘(其中4G分区专用.缓存目录),P.II433。.

二.安装步骤
解压S.quid(一般做法,把软件包括.在/opt目录下)           鲜花
#tar zxvf squid-2..4.STABLE4-src.ta.r.gz.
#cd squid
//进行编译
#./configure --prefix=/usr/local/squid --enable-dela.y-pools --.enable-snmp --enable-cache-digests --enable-auth-modules=”.NCSA”学习
#make all
#make install
*对编译项目的解释:
-.-prefix 为编译Squid所存放的目录,这里为./usr/local/squid[成人用品]
--enable-delay-pools 此选项使能一个延时.池,这样能对某些特定.的请求限制额定带宽。          婚庆
--enable-snmp 此选项可以让MRTG使用SNMP协.议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP.接口。域名
--enable-cache-diges.ts 使能缓存摘要,本来此项目的是为了在Squid.集群服务之间迅速发现缓存对象,这里在本地使用,可以加快请求时,检索缓存内.容的速度。<性病>
--enable-auth-modules 此编译选项启用认证模块,可以对访问代理用户.进行授.权。教育

安装MRTG
#tar .zxvf mrtg-2.9.22.tar..gz.
#cd mrtg*
#./configure --prefix=/usr./lo.cal/mrtg-2学习
#make
#make install
/* 几点说明:
1.MRTG大部分程序是用Perl脚本写成,需要Perl版本为5.005以上才能运行,RH. 7..2带有perl版本为v5.6.0,非常满足要求。(如果.版本不够,请到www.perl.com下载安装。)
2.MRTG需要zlib,gd和libpng三个处理图形的库支持,RH7.2满足此要求。(如果没有安装,请到http://www.boutell.com/gd/ http://www.libpng.org/pub/png/src/ http://www.gzip.org/zlib 下载安装)<性病>

三.具体配置
lSqu.id配置(仅对必要选项配置并说明):学习
http_port 80
此选项用于Squid代理所侦听的端口,由于要.实.现Http加速代理,则侦听端口80外贸
tcp_outgoing_address 255.2.55.2.55.255           女人
此.句法指定了远程服务.器的IP地址,这里我们使用255.255.255.255来指定为所有地址.
tcp_incoming_addres.s (广告)
这里可以使用http_port语法.进.行绑定端口和IP地址。表示客户端的请求。可以不使用。
cache_mem 64. MB.
由于Squid在读写.磁盘,I/O通道,数据转贮等需要大量内存.,我们可以把内存值稍微设置大一些,这样可以提供服务器性能。           建材

ca.che_swap_low 95.
这用做表示缓存内部对象的替换的衡.量基线。当交换分区的磁盘利用率超越这个基线,那么缓存对象替换也就随之开始。这里是.用百分率做衡量标准。           女人

cache_swap_high 9.8<性病>
此标记用于缓存对象替换的最高程度,当交换分区磁盘利用率接近此设置,则表示对象的更新程度更为剧烈。这里由于我的缓存区设置比较大.,因此设置为.98%。域名

下面几个.配置标记采用系统默认配置。(        游戏          )
{ maximum_objec.t._size 4096 KB.
{ 超过.此尺寸的对象将不缓存。    健康
{ .minimum_object._size 0 KB           鲜花
{ 小于.此尺寸的对象将不缓存。.
{. maximum_object_size_in_memory 8 K.B教育
{ 内存中能缓存的最大对象尺.寸。.
{ ipcac.he_size 1024    健康
{ 指定IP缓存大小。
{ i.pcache_low 90(        游戏          )
{ 缓存IP地址的最低基线。
{. ipcache_high 95(广告)
{ 缓存IP地址的最高极限。
{ fqd.ncache_size 1024电影
{ 缓存DNS全域名解.析的尺寸。.

cache_.replacement_policy .lru[成人用品]
此标记用于当缓存新对象时,使用.缓存策略来清除缓存中特定对象。这里使用lru表示:它只替换长时.间没有被访问过的对象。其他策略请参看配置文档介绍。外贸

memory_replacement_polic.y lru..
此用法同上,.区别在于替换内存对象。           建材

cache_dir ufs /cache 4000 16. 25.6(广告)
设置缓存根目录为/cache,类型为ufs,缓存区大小为4G,可以.有16个二级子目录,.每有二级目录有256个三级子目录。.

cache._access_log /var/log/squid/a.ccess.log.
cache_log /v.ar/log/squ.id/cache.log            杀毒
ca.che_store_log /var/log/squ.id/store.log教育
c.ache_swap_log /var/log/squid/s.wap.log.
上面几项是缓存日志.记录的路径和文件名。.

l.og_ip_on_direct on.
记录客户端主机的IP地址。

log_fqdn on
记录全DNS域名解析。

mi.me_table /usr/local/squid/etc/mime.conf.健康
Squid所.用mime的文件路径(        游戏          )

pid_filename /us.r/local/squid/logs/squid..pid.
Squid进程ID的文件。

ftp_user Squid@ynst..net..cn(        游戏          )
这里可以.使用匿名登陆FTP服务器。           建材

ftp_list_width 32.电影
FTP文件列表长度,超过.长度则截断文件名。           女人
ftp_passive on
允许主动连接FTP服务器。

dns_nameserver.s 20.2.98.187.1.
指定代理的域名解析服务器。

authenticate_program  /usr/local/squid/b.in/ncsa_.auth [成人用品]
/us.r/local/squid/etc/pass.wd(        游戏          )
代理认证程序,这里在/usr/local/squid/e.tc使用htpasswd产生一个密码.文件,具体方法如下:健康
#htpasswd –cdb .passwd auth_usr1 .pass1.
#htp.asswd –db. passwd auth_usr2 pass2学习
#htpa.sswd –db passwd auth_usr3 pa.ss3.
创建passwd文件,并添加auth_usr1,.auth_usr2,auth_usr.3三个认证用户。虚拟主机

authenticate_childre.n 5健康
所需要要产生的认证进程数。

authenticate_ttl .3600    健康
此标记设置认证保持时间。

authenticate_ip_ttl 18.00.
此标记设置认证绑定.IP地址的时间长度。健康

authenticate_ip_ttl_is_strict. o.n             电子
此标记可在au.thentic.ate_ttl时间内,拒绝其他非认证IP地址访问。虚拟主机

request_header._max._size 10 KB域名
req.u.est_body_max_size 1 MB    美容
设.置了Http请求的包头和数据大小。(        游戏          )

request_body_max_siz.e 0.
这里,请求所返回的数据大小.为0,意义为没有任何.限制。.

connect_timeou.t 180 second.s    健康
read_timeou.t 15 minutes.
reques..t_timeout 20 seconds           鲜花
上.面几项是.代理服务几个超时设置,这里使用配置文件默认值。    美容

下面是访问控制列表一些配.置,这里对访问的I.P地址,域名,访问类型极其访问代理的权限做的限制:电脑
acl acldomain dst.domain .yns.t.net.cn.
acl accel.eratedport port 8.0            杀毒
acl acceleratedhost dst 202.98.187.1.7/255.255..255.255              乙肝
acl .aclprotocol pro.to HTTP FTP    外汇
acl aclme.thod method GET .POST.

acl aclau.t.h proxy_auth required  .
(注:这里使用required表示任何passwd文件中存在.的.合法用户才授予访问权限。)            杀毒

a.cl aclsnmp snmp_communit.y secrect电影
MRTG可以使用s.nmp协议检测此代理服务运行.状态。虚拟主机

acl aclcon.n maxconn 20投资
可并行连接的最大数量。

启用定义的访问控制列表
h.ttp_.access allow manager localhost.
http_access. deny manager外贸
http_acc.ess a.llow aclauth .
http_access allow acceleratedpor.t acceleratedhos.t .
ht.tp_access deny all.

下面为缓存管理设置
cache_mgr admi.n@ynst.net..cn    外汇
设置缓存.管理者的接受邮件地址。健康

cache_ef.fective_u.ser squidusr              乙肝
cache_effectiv.e_grou.p squidgrp学习
设.置执行Squid的用户和用户组。外贸
{注:设置用户和用户组及其权.限修改方法如下:.
#groupadd .squidgrp          婚庆
#useradd –g squidgrp –d /home/sq.uidusr sq.uidusr(广告)
修改.l.og日志权限属性,使squidusr有写权限。投资
#cho.wn squidusr /var/log/squi.d学习
#chgrp squidg.rp /var/log./squid--- 印刷
#c.hown squ.idusr /var/log/squid/*.log健康
#chown squidgrp /var./log/s.quid/*.log          婚庆
}

下面配置Http服务加速代理
httpd_accel_host 202..98.187.17.外贸
httpd_accel_port 8.0<性病>
httpd_.accel_with_proxy. on 域名
(注:如果配置代理和加速服务,必须httpd_ac.cel_wi.th_proxy选项打开。如果需要配置多个加速,可以使用虚拟的概念。)(广告)

snmp_port 3401
此标记设置snmp_port端口为.3401,.可以使MRTG监测服务运行状态。--------------彩票

sn.mp_access allow aclsnmp l.ocalhost教育
snmp_access. deny all    健康
snmp_i.ncoming_address 0..0.0.0    外汇
s.nmp_outgoing_address 0.0.0..0           鲜花

以.上选项用于配置和MRTG交互信息的Snmp设置。.

digest_generation. on           建材
digest_re.build period 1. hour.
d.igest_rewrite_period 1 h.our电脑
digest_swapout_chunk_si.ze 4096 by.tes服务器
digest_rebuild_c..hunk_percentage 10.
产生缓存摘要,并设置摘.要重构所需要的时间及其相关设.置,这里采用系统默认设置。缓存摘要使的庞大的缓存内容形成一个微型检索,提高代理性能。投资

最后我们进行延迟队列池.进行配置服务器
延迟队列池可以基于一定规则对特定请求数据的.进行限制,这样可以防止恶意用户发送非正规数据串攻击服务.器。服务器
以下选项只在必要处进行说明,配.置如下:.
delay_pools. 1   #定义一个池电影
delay._class 1 1  #池为1类型.
delay_a.ccess 1 allow all #允许类型1.的所有请求访问健康
delay_parameters 1 128000/1280.00  #限.制访问的128k/s.
dela.y._initial_bucket_level 50 #Squid启动时,初始化池所用的带宽数量。    美容
  
运行Squid代理服务:
#squ..id –z  /*创建Squid所使用的缓存目录结构.
如果想在前台运行
#squid –NCdl
如果想在后台运行
#squid
检查Squid是否运行
#squid –k check.             电子




lMRTG配置:
首先测试SNMP服务是.否启动:.
#snmpwalk -p 3401 hostname communitystring .1.3.6.1.4.1.34.95..1.1           建材
如果看到如下输出:
enterprises.nlanr.squid.cacheSystem.cac.heSysVMsiz.e = 7970816              乙肝
       enterprises.nlanr..squid.ca.cheSystem.cacheSysStorage = 2796142.
     .  enterprises.nlanr.squid..cacheSystem.c.acheUptime = Timeticks: (766299) 2:07:42.99电脑
  则说明SNMP正常工作。
  按照mrtg.hdl.com的文档,使用cfgmaker和indexmaker就可以生成MRTG所需要的W.eb发布文件.。使用cfgmake.r可以创建配置MRTG所需要的配置文件,而Indexmaker则是检索MRTG生成的Web文件,制作一个Index.html。这.里,我提供一种更为简洁的办法:投资
(感谢Chris提供的mrtg-squid.cfg文件和index.html,可到http://www.psychofx.com/chris/unix/mrtg/ 下载这两个文件。)外贸
修改mrtg-squid..cfg文件选项如下:教育
修改 WorkDir 和 Loa.dMIBs 路径.设置域名
修改所有.出现在文件中的"hostname" 为你实.际服务器名字           建材
修改所有. "chris"字段为你需要的名.字和地址[成人用品]
修改commun.ity 字串属性域名
这里配置如下:
WorkDir: /home./www./mrtg/squid(广告)
LoadMIBs: /u.sr/local/squi.d/etc/mib.txt.
所有.public@hostname修改secrect@proxys.vr学习

创建/home/.www./mrtg/squid这样一个目录。--- 印刷
#mkd.ir /home/ww.w/mrtg/squid--------------彩票
#c.d /home/www/mrtg/squid           建材
#.cp /opt/mrtg-squid.cfg .(广告)
#mrtg mrtg.-squid.cfg.
#cp /opt./index.html .<性病>

修改/etc./httpd/conf/httpd.conf如下.几个选项电脑
Listen 8000
Port 8000
Documentroot /home/www/mrt.g/squid.学习

由于mrtg读取文件需要资源,因为合理设置读取间隔,.这.里我设置为5分钟:    外汇
crontab –e
*/5 * * * * /usr/local/mrtg-.2/bin/mrtg /home/www/mrtg/squid/mrtg-squi.d.cfg电影

这样,我.们就建立了一个完善的代理加速访问服务器,通过mrtg的强大.监控,可以统计服务器运行时设备运行状态。由于以上软件遵从GNU,因此一种强大而有经济的建站手段。通过认证控制,允许特定用户使用代理服务。而Web加速服务器则成为服务器.镜像的方便手段。(广告)




评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线ruyiboy.
发帖
2018
C币
-152715
威望
383
贡献值
1
银元
-4
铜钱
4503
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
请问使用squid+mysql的外部认证实现,谁有相关经验?
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个