熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Squid基礎與配置

2013-11-13 15:28:25  來源: Oracle 

  作 者 戴專
  
  一Squid入門
  
    .Squid是什麼?
  
    Squid是一種用來緩沖Internet數據的軟件它是這樣實現其功能的接受來自人們需要下載的目標(object)的請求並適當地處理這些請求也就是說如果一個人想下載一web頁面他請求Squid為他取得這個頁面Squid隨之連接到遠程服務器(比如)並向這個頁面發出請求然後Squid顯式地聚集數據到客戶端機器而且同時復制一份當下一次有人需要同一頁面時Squid可以簡單地從磁盤中讀到它那樣數據迅即就會傳輸到客戶機上當前的Squid可以處理HTTPFTPGOPHERSSL和WAIS等協議但它不能處理如POPNNTPRealAudio以及其它類型的東西
  
    .Internet緩沖的一些概念
  
    你可能會想到一些問題緩沖有多大的用處?什麼時候目標(object)應該或者不應該被緩沖?例如緩沖信用卡號碼是完全不適合的腳本文件的執行結果在遠程服務器端站點經常更新(象)或者甚至站點不允許緩沖這些情況也都是不適合緩沖的
  
    Squid處理各種情況是不錯的(當然這需要遠程站點按標准形式工作)
  
    可執行的cgibin腳本文件不被緩沖返回正確頁眉的頁面是在一段限制了的時間內被緩沖而且你可以規定特殊的規則以確定什麼是可以或不可以被緩沖的還有緩沖的時間為多長
  
    談到緩沖的用處有多大這要看Internet的容量大小各有不同對於小型的緩沖區(幾轉磁盤空間)來說返回值非常高(達到%)這個空間緩沖經常訪問的站點如netscapecnn和其它一些類似情況的站點如果你增加一倍緩沖的磁盤空間但你不會成倍增加你的命中率這是因為你開始緩沖網絡中剩余部分時這些通常時很大的而且很少被訪問一個非常大的高速緩沖區轉左右可能返回值仍小於%除非你對保存數據的時間長短經常改變(一般地你不要分配轉的磁盤空間因為頁面很快就會過時應該被刪除掉)
  
    我們在這裡說的目標(object)指的是可保存的web頁面或其它類似的可下載頁面(ftp文件或目錄內容也稱為目標(object))
  
    .Squid運行在什麼系統上?
  
    Squid可運行在大多數Unix和OS/版本的系統之上已知的可工作的有
  
    AIXDigital UnixFreeBSDHPUXIrixLinuxNetBSDNextstepSCOSolaris
  
  二編譯安裝Squid
  
    .Squid的未編譯版本
  
    我不能保證你能發現所有的Squid的未編譯版本在ftp:上你可以找到一些未編譯的版本盡管它們可能不是最新的版本
  
    Squid一般很容易編譯這是因為它本身可以自動配置唯一真正的問題是是否在你的機器上有一個編譯器這可能發生在你購買了商業OS但是它未包括標准的開發選項你可能考慮在這種情況下裝一個GNU的編譯器如果你在/usr/include下有必需的文件的話你另外一個選擇可能是請求別人的幫助你也許需要查看tracker database以找到在你附近運行Squid的某人假定他們有適合的硬件他們很可能會幫助你的
  
    . 開始編譯之前
  
    運行Squid的最好方法(在我看來)是創建一個特定的用戶和組來運行它我用相同的名字創建了一個Squid用戶和一個Squid組並設置用戶的home目錄為/usr/local/squid然後我用su 轉到Squid用戶這樣文件就都由Squid以及Squid組所有(Squid用戶主組必須為Squid)隨後我下載Squid源文件到/usr/local/squid/src並解包
  
    這可能不是最好的安裝Squid到你的系統上的方法但是如果多個用戶將使用squid你可以把他們都放在Squid組中(當然如果你不理解我所說的盡可以用你自己的名義去安裝不要以root方式否則你將給你的機器帶來安全上的危險
  
    . 獲得源碼
  
    Squid的源始站點是這裡還有許多其它的鏡像站點你可以考慮從你本地的鏡像站點獲得它或者在archie服務器上搜索一旦你已經下載了(一般放在/usr/local/squid/src/下)你可以用以下命令解壓
  gzip cd squidtargzfil | tar xv 或者 tar zxvf squidtargzfil
  這將創建類似於以下行的目錄/usr/local/squid/src/squid/(依版本而定)
  
    . 編譯Squid
  
    以下是編譯Squid的一般指令你可能還要做其它的事以編譯Squid到你的系統上通常你可以運行一個配置腳本文件它指明了你的系統設置和你機器上的標題文件這樣在解壓和解包文件後cd 到/usr/local/squid/src/squidversion/下並輸入
  /configure
  
    這裡假定你准備安裝Squid到/usr/local/squid下你也可以用下面的方法修改你的安裝目錄
  /configure prefix=/some/other/directory
  
    然後你可能要敲入make 以及 如果編譯一切正常時輸入make install這將生成在後面將要描述的目錄並安裝文件到目錄下
  
  三Squid的基本配置
  
    . 目錄結構
  
     Squid通常創建幾個目錄它們一般如下
  /usr/local/squid
  /bin
  /cache
  /etc
  /logs/
  /src (這是我們早些時候創建的)
  /bin包括Squid本身的程序以及其它程序如ftpget它可以被Squid用來執行各種功能
  /cache/目錄是實際緩沖數據的存放區你可能要考慮把剩余緩沖放到不同分區去或甚至是不同的磁盤它包含的目錄如以下行的形式// // // 和// 這些又包括更多的子目錄最終是緩沖的實際數據存儲數據在多個目錄下意味著從大的緩沖區取數據仍然很快因為你的操作系統要讀一個包含個文件的目錄會需要很長的時間
  /etc/包含nf文件它是唯一的Squid配置文件
  /logs/目錄可能會很大特別是如果你包含同屬時它們會查詢你每一次連接這可以使你的log文件雙倍增加注意在cache目錄下也有一個/log/文件但是你不能刪除或移動它它是上面討論的/usr/local/squid/cache/目錄的一個索引(這與IE的cache有些相似
  /src/一般包括你運行Squid版本的源文件
  
    . 基本配置
  
    所有的Squid配置集中到一個文件nf下面將詳細討論僅作為一個緩沖代理服務器的Squid的配置而不是把它作為一個http加速器
  
    以下是一個最基本的配置文件
  #nf a very basic config file for squid
  
  #Turn logging to its lowest level
  debug_options ALL
  
  #defines a group (or Access Control List) that includes all IP
  #addresses
  acl all src /
  
  #allow all sites to use connect to us via HTTP
  http_access allow all
  
  #allow all sites to use us as a sibling
  icp_access allow all
  
  #test the following sites to check that we are connected
  dns_testnames uscedu loradoedu mitedu yaleedu
  
  #run as the squid user
  cache_effective_user squid squid
  #otherwise you can uncomment the below line and comment the one out
  # this will run as use nobody with the group nogrtoup
  cache_effective_user nobody nogroup
  
    這個配置允許所有的人訪問緩沖區並創建一個M的緩沖區使用M的內存保持最小型的logs而且存儲所有文件到默認區域這一般指的是所有文件將以Squid用戶Squid組的名義存儲到/usr/local/squid/cache所有客戶請求將來自於端口並且所有內部緩沖(intercache)流量將走UDP端口注意這個配置文件允許所有人訪問你的緩沖機器這可能不是你所希望的但是至少它可以正常工作
  
    . 運行Squid
  
    Squid由一個腳本正常運行這個腳本在它的進程死掉後重啟Squid這裡有腳本的兩種版本/usr/local/squid/bin/RunCache 和 /usr/local/squid/bin/RunAccel
  RunCache腳本一般在前台運行所以啟動Squid輸入以下內容
  % /usr/local/squid/bin/RunCache& %
  然後用以下命令查看主Squid log文件/usr/local/squid/logs/cachelog
  % more /usr/local/squid/logs/cachelog
  
    你將看到Squid啟動的相關信息如下行所示:
  // ::| Starting Squid Cache version for ipclinuxgnu
  // ::| With file descriptors available
  // ::| Initializing IP Cache
  如果你沒有看見任何關於FATAL錯誤的信息Squid現在就可以很高興地在你的機器上運行了
  
    下面將配置你的浏覽器你可以好好地試一下哦!
  
    . 客戶端軟件的基本配置
  
     以下是針對浏覽器的基本配置
  
     Netscape(以上版本)
  從Edit菜單項中選擇Preferences項在Advanced中Proxies頁點擊按鈕進入Proxy配置手冊然後再點擊View按鈕對每項你的Squid服務器支持的協議項(默認有HTTPFTP和gopher等)中填入Squid服務器的主機名或IP地址同時在Port欄中填入Squid服務器
From:http://tw.wingwit.com/Article/program/Oracle/201311/16770.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.