• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Squid+MRTG實現完善的緩存代理和http服務加速代理

    發表于:2007-06-22來源:作者:點擊數: 標簽:
    Squid是一種源代碼開放的高 性能 代理緩存 服務器 。它可支持FTP,gopher和Http數據對象的代理。另外,Squid也支持SSL,多樣化訪問控制和代理請求的完整日志功能。通過輕量級的網際緩存協議,Squid以網狀或層次的方式分配內存,這樣能節省額外的帶寬。 提供H

       
      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.STABLE4-src.tar.gz
      MRTG下載地址:http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/
      版本:mrtg-2.9.22.tar.gz
      機器配置為:256M內存,9G硬盤(其中4G分區專用緩存目錄),PII433。
      
      二.安裝步驟
      解壓Squid(一般做法,把軟件包括在/opt目錄下)
      #tar zxvf squid-2.4.STABLE4-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-2.9.22.tar.gz
      #cd mrtg*
      #./configure --prefix=/usr/local/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 下載安裝)
      
      三.具體配置
      lSquid配置(僅對必要選項配置并說明):
      http_port 80
      此選項用于Squid代理所偵聽的端口,由于要實現Http加速代理,則偵聽端口80
      tcp_outgoing_address 255.255.255.255
      此句法指定了遠程服務器的IP地址,這里我們使用255.255.255.255來指定為所有地址
      tcp_incoming_address
      這里可以使用http_port語法進行綁定端口和IP地址。表示客戶端的請求??梢圆皇褂?。
      cache_mem 64 MB
      由于Squid在讀寫磁盤,I/O通道,數據轉貯等需要大量內存,我們可以把內存值稍微設置大一些,這樣可以提供服務器性能。
      
      cache_swap_low 95
      這用做表示緩存內部對象的替換的衡量基線。當交換分區的磁盤利用率超越這個基線,那么緩存對象替換也就隨之開始。這里是用百分率做衡量標準。
      
      cache_swap_high 98
      此標記用于緩存對象替換的最高程度,當交換分區磁盤利用率接近此設置,則表示對象的更新程度更為劇烈。這里由于我的緩存區設置比較大,因此設置為98%。
      
      下面幾個配置標記采用系統默認配置。
      { maximum_object_size 4096 KB
      { 超過此尺寸的對象將不緩存。
      { minimum_object_size 0 KB
      { 小于此尺寸的對象將不緩存。
      { maximum_object_size_in_memory 8 KB
      { 內存中能緩存的最大對象尺寸。
      { ipcache_size 1024
      { 指定IP緩存大小。
      { ipcache_low 90
      { 緩存IP地址的最低基線。
      { ipcache_high 95
      { 緩存IP地址的最高極限。
      { fqdncache_size 1024
      { 緩存DNS全域名解析的尺寸。
      
      cache_replacement_policy lru
      此標記用于當緩存新對象時,使用緩存策略來清除緩存中特定對象。這里使用lru表示:它只替換長時間沒有被訪問過的對象。其他策略請參看配置文檔介紹。
      
      memory_replacement_policy lru
      此用法同上,區別在于替換內存對象。
      
      cache_dir ufs /cache 4000 16 256
      設置緩存根目錄為/cache,類型為ufs,緩存區大小為4G,可以有16個二級子目錄,每有二級目錄有256個三級子目錄。
      
      cache_aclearcase/" target="_blank" >ccess_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/mime.conf
      Squid所用mime的文件路徑
      
      pid_filename /usr/local/squid/logs/squid.pid
      Squid進程ID的文件。
      
      ftp_user Squid@ynst.net.cn
      這里可以使用匿名登陸FTP服務器。
      
      ftp_list_width 32
      FTP文件列表長度,超過長度則截斷文件名。
      ftp_passive on
      允許主動連接FTP服務器。
      
      dns_nameservers 202.98.187.1
      指定代理的域名解析服務器。
      
      authenticate_program /usr/local/squid/bin/ncsa_auth
      /usr/local/squid/etc/passwd
      代理認證程序,這里在/usr/local/squid/etc使用htpasswd產生一個密碼文件,具體方法如下:
      #htpasswd –cdb passwd auth_usr1 pass1
      #htpasswd –db passwd auth_usr2 pass2
      #htpasswd –db passwd auth_usr3 pass3
      創建passwd文件,并添加auth_usr1,auth_usr2,auth_usr3三個認證用戶。
      
      authenticate_children 5
      所需要要產生的認證進程數。
      
      authenticate_ttl 3600
      此標記設置認證保持時間。
      
      authenticate_ip_ttl 1800
      此標記設置認證綁定IP地址的時間長度。
      
      authenticate_ip_ttl_is_strict on
      此標記可在authenticate_ttl時間內,拒絕其他非認證IP地址訪問。
      
      request_header_max_size 10 KB
      request_body_max_size 1 MB
      設置了Http請求的包頭和數據大小。
      
      request_body_max_size 0
      這里,請求所返回的數據大小為0,意義為沒有任何限制。
      
      connect_timeout 180 seconds
      read_timeout 15 minutes
      request_timeout 20 seconds
      上面幾項是代理服務幾個超時設置,這里使用配置文件默認值。
      
      下面是訪問控制列表一些配置,這里對訪問的IP地址,域名,訪問類型極其訪問代理的權限做的限制:
      acl acldomain dstdomain .ynst.net.cn
      acl acceleratedport port 80
      acl acceleratedhost dst 202.98.187.17/255.255.255.255
      acl aclprotocol proto HTTP FTP
      acl aclmethod method GET POST
      
      acl aclauth proxy_auth required
     ?。ㄗⅲ哼@里使用required表示任何passwd文件中存在的合法用戶才授予訪問權限。)
      
      acl aclsnmp snmp_community secrect
      MRTG可以使用snmp協議檢測此代理服務運行狀態。
      
      acl aclconn maxconn 20
      可并行連接的最大數量。
      
      啟用定義的訪問控制列表
      http_access allow manager localhost
      http_access deny manager
      http_access allow aclauth
      http_access allow acceleratedport acceleratedhost
      http_access deny all
      
      下面為緩存管理設置
      cache_mgr admin@ynst.net.cn
      設置緩存管理者的接受郵件地址。
      
      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服務加速代理
      httpd_accel_host 202.98.187.17
      httpd_accel_port 80
      httpd_accel_with_proxy on
      (注:如果配置代理和加速服務,必須httpd_accel_with_proxy選項打開。如果需要配置多個加速,可以使用虛擬的概念。)
      
      snmp_port 3401
      此標記設置snmp_port端口為3401,可以使MRTG監測服務運行狀態。
      
      snmp_access allow aclsnmp localhost

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>