知识大全 Squid+MRTG实现完善的缓存代理和http服务加速代理

Posted

篇首语:欠伸展肢体,吟咏心自愉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Squid+MRTG实现完善的缓存代理和http服务加速代理相关的知识,希望对你有一定的参考价值。

Squid+MRTG实现完善的缓存代理和http服务加速代理  以下文字资料是由(全榜网网www.cha138.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下载地址   版本 squid STABLE src tar gz  MRTG下载地址 ~oetiker/webtools/mrtg/pub/  版本 mrtg tar gz  机器配置为 M内存 G硬盘(其中 G分区专用缓存目录) PII     二.安装步骤  解压Squid(一般做法 把软件包括在/opt目录下)  #tar zxvf squid STABLE src tar gz  #cd squid  //进行编译  # /configure prefix=/usr/local/squid enable delay 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 digests 使能缓存摘要 本来此项目的是为了在Squid集群服务之间迅速发现缓存对象 这里在本地使用 可以加快请求时 检索缓存内容的速度    enable auth modules 此编译选项启用认证模块 可以对访问代理用户进行授权     安装MRTG  #tar zxvf mrtg tar gz  #cd mrtg*  # /configure prefix=/usr/local/mrtg   #make  #make install  /* 几点说明    .MRTG大部分程序是用Perl脚本写成 需要Perl版本为 以上才能运行 RH 带有perl版本为v 非常满足要求 (如果版本不够 请到下载安装 )   .MRTG需要zlib gd和libpng三个处理图形的库支持 RH 满足此要求 (如果没有安装 请到下载安装)    三.具体配置  lSquid配置(仅对必要选项配置并说明)   _port   此选项用于Squid代理所侦听的端口 由于要实现Http加速代理 则侦听端口   tcp_outgoing_address   此句法指定了远程服务器的IP地址 这里我们使用 来指定为所有地址  tcp_ining_address   这里可以使用_port语法进行绑定端口和IP地址 表示客户端的请求 可以不使用   cache_mem MB  由于Squid在读写磁盘 I/O通道 数据转贮等需要大量内存 我们可以把内存值稍微设置大一些 这样可以提供服务器性能     cache_swap_low   这用做表示缓存内部对象的替换的衡量基线 当交换分区的磁盘利用率超越这个基线 那么缓存对象替换也就随之开始 这里是用百分率做衡量标准     cache_swap_high   此标记用于缓存对象替换的最高程度 当交换分区磁盘利用率接近此设置 则表示对象的更新程度更为剧烈 这里由于我的缓存区设置比较大 因此设置为 %     下面几个配置标记采用系统默认配置    maximum_object_size KB   超过此尺寸的对象将不缓存    minimum_object_size KB   小于此尺寸的对象将不缓存    maximum_object_size_in_memory KB   内存中能缓存的最大对象尺寸    ipcache_size    指定IP缓存大小    ipcache_low    缓存IP地址的最低基线    ipcache_high    缓存IP地址的最高极限    fqdncache_size    缓存DNS全域名解析的尺寸     cache_replacement_policy lru  此标记用于当缓存新对象时 使用缓存策略来清除缓存中特定对象 这里使用lru表示 它只替换长时间没有被访问过的对象 其他策略请参看配置文档介绍     memory_replacement_policy lru  此用法同上 区别在于替换内存对象     cache_dir ufs /cache   设置缓存根目录为/cache 类型为ufs 缓存区大小为 G 可以有 个二级子目录 每有二级目录有 个三级子目录     cache_access_log /var/log/squid/access log  cache_log /var/log/squid/cache log  cache_store_log /var/log/squid/store log  cache_swap_log /var/log/squid/swap log  上面几项是缓存日志记录的路径和文件名     log_ip_on_direct on  记录客户端主机的IP地址     log_fqdn on  记录全DNS域名解析     mime_table /usr/local/squid/etc/nf  Squid所用mime的文件路径    pid_filename /usr/local/squid/logs/squid pid  Squid进程ID的文件     ftp_user   这里可以使用匿名登陆FTP服务器     ftp_list_width   FTP文件列表长度 超过长度则截断文件名   ftp_passive on  允许主动连接FTP服务器     dns_nameservers   指定代理的域名解析服务器     authenticate_program /usr/local/squid/bin/ncsa_auth   /usr/local/squid/etc/passwd  代理认证程序 这里在/usr/local/squid/etc使用htpasswd产生一个密码文件 具体方法如下   #htpasswd –cdb passwd auth_usr pass   #htpasswd –db passwd auth_usr pass   #htpasswd –db passwd auth_usr pass   创建passwd文件 并添加auth_usr auth_usr auth_usr 三个认证用户     authenticate_children   所需要要产生的认证进程数     authenticate_ttl   此标记设置认证保持时间     authenticate_ip_ttl   此标记设置认证绑定IP地址的时间长度     authenticate_ip_ttl_is_strict on  此标记可在authenticate_ttl时间内 拒绝其他非认证IP地址访问     request_header_max_size KB  request_body_max_size MB  设置了Http请求的包头和数据大小     request_body_max_size   这里 请求所返回的数据大小为 意义为没有任何限制     connect_timeout seconds  read_timeout minutes  request_timeout seconds  上面几项是代理服务几个超时设置 这里使用配置文件默认值     下面是访问控制列表一些配置 这里对访问的IP地址 域名 访问类型极其访问代理的权限做的限制   acl acldomain dstdomain   acl acceleratedport port   acl acceleratedhost dst /   acl aclprotocol proto HTTP FTP  acl aclmethod method GET POST    acl aclauth proxy_auth required   (注 这里使用required表示任何passwd文件中存在的合法用户才授予访问权限 )    acl aclsnmp snmp_munity secrect  MRTG可以使用snmp协议检测此代理服务运行状态     acl aclconn maxconn   可并行连接的最大数量     启用定义的访问控制列表  _access allow manager localhost  _access deny manager  _access allow aclauth   _access allow acceleratedport acceleratedhost   _access deny all    下面为缓存管理设置  cache_mgr   设置缓存管理者的接受邮件地址     cache_effective_user squidusr  cache_effective_group squidgrp  设置执行Squid的用户和用户组   注 设置用户和用户组及其权限修改方法如下   #groupadd squidgrp  #useradd –g squidgrp –d /home/squidusr squidusr  修改log日志权限属性 使squidusr有写权限   #chown squidusr /var/log/squid  #chgrp squidgrp /var/log/squid  #chown squidusr /var/log/squid/* log  #chown squidgrp /var/log/squid/* log      下面配置Http服务加速代理    d_accel_port   d_accel_with_proxy on   (注 如果配置代理和加速服务 必须d_accel_with_proxy选项打开 如果需要配置多个加速 可以使用虚拟的概念 )    snmp_port   此标记设置snmp_port端口为 可以使MRTG监测服务运行状态     snmp_access allow aclsnmp localhost cha138/Article/program/Oracle/201311/17413

相关参考

知识大全 理解ASP.NET与客户端缓存之HTTP协议

理解ASP.NET与客户端缓存之HTTP协议  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!前言  

知识大全 asp.net 客户端浏览器缓存的Http头介绍

asp.net客户端浏览器缓存的Http头介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!让浏览

知识大全 页面输出缓存

  最简单的缓存机制把整个Aspx页面保存在服务器端内存中用户请求页面时直接从服务器端内存中提取数数据不在经历页面的生命周期主要用于不经常更新和修改而在第一次编译是时要经过大量处理的数据页面输出缓存是

知识大全 使用分布式缓存来群集Spring远程服务

使用分布式缓存来群集Spring远程服务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishix

知识大全 Squid基础与配置

Squid基础与配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者戴专    一Squid

知识大全 如何关闭Squid的记录

如何关闭Squid的记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Squid缺省会把访问及

知识大全 有关用linux作NAT服务 (代理,透明代理等)

有关用linux作NAT服务 (代理,透明代理等)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 法律服务属于哪类税收分类编码

法律服务属于哪类税收分类编码请参考如下编码:3040802000000000000经纪代理服务指各类经纪、中介、代理服务。包括金融代理、知识产权代理、货物运输代理、报关代理、法律代理、房地产中介、职业

知识大全 珠海哪家企业是专门做,代理记账,代理报税,公司注册,之类的商务服务的

珠海哪家企业是专门做,代理记账,代理报税,公司注册,之类的商务服务的?你可以先到百度上面搜一下代理记账这些关键词,看看,了解一下,低调留下尚信财务咨询有限公司,应该符合你的要求!跪求一家专门做代理记账

知识大全 Web服务代理的URL行为属性

Web服务代理的URL行为属性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在里调用webse