Squid基礎與配置(轉)
Squid基礎與配置(轉)[@more@]一、Squid入門 1.Squid是什麼? Squid是一種用來緩衝Internet資料的軟體。它是這樣實現其功能的,接受來自人們需要下載的目標(object)的請求並適當地處理這些請求。也就是說,如果一個人想下載一web頁面,他請求Squid為他取得這個頁面。Squid隨之連線到遠端伺服器(比如:http: //squid.nlanr.net/)並向這個頁面發出請求。然後,Squid顯式地聚集資料到客戶端機器,而且同時複製一份。當下一次有人需要同一頁面時,Squid可以簡單地從磁碟中讀到它,那樣資料迅即就會傳輸到客戶機上。當前的Squid可以處理HTTP,FTP,GOPHER,SSL和 WAIS等協議。但它不能處理如POP,NNTP,RealAudio以及其它型別的東西。 2.Internet緩衝的一些概念 你可能會想到一些問題:緩衝有多大的用處?什麼時候目標(object)應該或者不應該被緩衝?例如,緩衝信用卡號碼是完全不適合的,指令碼檔案的執行結果在遠端伺服器端,站點經常更新(象)或者甚至站點不允許緩衝,這些情況也都是不適合緩衝的。 Squid處理各種情況是不錯的(當然,這需要遠端站點按標準形式工作)。 可執行的cgi-bin指令碼檔案不被緩衝,返回正確頁首的頁面是在一段限制了的時間內被緩衝,而且你可以規定特殊的規則以確定什麼是可以或不可以被緩衝的,還有緩衝的時間為多長。 談到緩衝的用處有多大,這要看Internet的容量大小,各有不同。對於小型的緩衝區(幾轉磁碟空間)來說,返回值非常高(達到 25%)。這個空間緩衝經常訪問的站點,如netscape,cnn和其它一些類似情況的站點。如果你增加一倍緩衝的磁碟空間,但你不會成倍增加你的命中率。這是因為你開始緩衝網路中剩餘部分時,這些通常時很大的而且很少被訪問。一個非常大的高速緩衝區,有20轉左右,可能返回值仍小於50%,除非你對儲存資料的時間長短經常改變(一般地你不要分配20轉的磁碟空間,因為頁面很快就會過時,應該被刪除掉)。 我們在這裡說的目標(object)指的是可儲存的web頁面或其它類似的可下載頁面(ftp檔案或目錄內容也稱為目標(object))。 3.Squid執行在什麼系統上? Squid可執行在大多數Unix和OS/2版本的系統之上,已知的可工作的有: AIX,Digital Unix,FreeBSD,HP-UX,Irix,Linux,NetBSD,Nextstep,SCO,Solaris 二、編譯安裝Squid 1.Squid的未編譯版本 我不能保證你能發現所有的Squid的未編譯版本。在ftp:squid.nlanr.net上你可以找到一些未編譯的版本,儘管它們可能不是最新的版本。 Squid一般很容易編譯,這是因為它本身可以自動配置。唯一真正的問題是是否在你的機器上有一個編譯器。這可能發生在:你購買了商業 OS但是它未包括標準的開發選項。你可能考慮在這種情況下裝一個GNU的編譯器,如果你在/usr/include下有必需的檔案的話。你另外一個選擇可能是請求別人的幫助。你也許需要檢視“tracker database”以找到在你附近執行Squid的某人。假定他們有適合的硬體,他們很可能會幫助你的。 1. 開始編譯之前 執行Squid的最好方法(在我看來)是建立一個特定的使用者和組來執行它。我用相同的名字建立了一個Squid使用者和一個Squid組,並設定使用者的home目錄為/usr/local/squid。然後我用su 轉到Squid使用者,這樣檔案就都由Squid以及Squid組所有(Squid使用者主組必須為Squid)。隨後我下載Squid原始檔到/usr/local/squid/src並解包。 這可能不是最好的安裝Squid到你的系統上的方法,但是,如果多個使用者將使用squid,你可以把他們都放在Squid組中。(當然,如果你不理解我所說的,儘可以用你自己的名義去安裝,不要以root方式,否則,你將給你的機器帶來安全上的危險。) 2. 獲得原始碼 Squid的源始站點是squid.nlanr.net。這裡還有許多其它的映象站點,你可以考慮從你本地的映象站點獲得它,或者在archie伺服器上搜尋。一旦你已經下載了(一般放在/usr/local/squid/src/下),你可以用以下命令解壓: gzip -cd squid-tar.gz-fil | tar xv 或者 tar zxvf squid-tar.gz-fil 這將建立類似於以下行的目錄:/usr/local/squid/src/squid-1.1.13/(依版本而定)。 3. 編譯Squid 以下是編譯Squid的一般指令。你可能還要做其它的事以編譯Squid到你的系統上。通常你可以執行一個配置指令碼檔案,它指明瞭你的系統設定和你機器上的標題檔案。這樣,在解壓和解包檔案後。cd 到/usr/local/squid/src/squid-version/下並輸入: ./configure 這裡假定你準備安裝Squid到/usr/local/squid下。你也可以用下面的方法修改你的安裝目錄: ./configure -prefix=/some/other/directory 然後你可能要敲入:make 以及 如果編譯一切正常時,輸入make install。這將生成在後面將要描述的目錄並安裝檔案到目錄下。 三、Squid的基本配置 1. 目錄結構 Squid通常建立幾個目錄。它們一般如下: /usr/local/squid /bin /cache /etc /logs/ /src (這是我們早些時候建立的) /bin包括Squid本身的程式,以及其它程式如ftpget,它可以被Squid用來執行各種功能。 /cache/目錄是實際緩衝資料的存放區。你可能要考慮把剩餘緩衝放到不同分割槽去,或甚至是不同的磁碟。它包含的目錄如以下行的形式:/00/ /01/ /02/ 和/03/ 這些又包括更多的子目錄,最終是緩衝的實際資料。儲存資料在多個目錄下意味著從大的緩衝區取資料仍然很快,因為你的作業系統要讀一個包含10000個檔案的目錄會需要很長的時間。 /etc/包含squid.conf檔案,它是唯一的Squid配置檔案。 /logs/目錄可能會很大,特別是如果你包含同屬時,它們會查詢你每一次連線,這可以使你的log檔案雙倍增加。注意在cache目錄下也有一個/log/檔案,但是你不能刪除或移動它。它是上面討論的/usr/local/squid/cache/目錄的一個索引。(這與IE的cache有些相似。) /src/一般包括你執行Squid版本的原始檔。 2. 基本配置 所有的Squid配置集中到一個檔案----squid.conf。下面將詳細討論僅作為一個緩衝代理伺服器的Squid的配置,而不是把它作為一個http加速器。 以下是一個最基本的配置檔案: #squid.conf - a very basic config file for squid #Turn logging to it's lowest level debug_options ALL,1 #defines a group (or Access Control List) that includes all IP #addresses acl all src 0.0.0.0/0.0.0.0 #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 internic.net usc.edu cs.colorado.edu mit.edu yale.edu #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 這個配置允許所有的人訪問緩衝區,並建立一個100M的緩衝區,使用8M的記憶體,保持最小型的logs,而且儲存所有檔案到預設區域,這一般指的是所有檔案將以Squid使用者,Squid組的名義儲存到“/usr/local/squid/cache”中。所有客戶請求將來自於3128 埠,並且所有“內部緩衝(inter-cache)”流量將走UDP埠3130。注意這個配置檔案允許所有人訪問你的緩衝機器,這可能不是你所希望的,但是至少它可以正常工作。 3. 執行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/cache.log % more /usr/local/squid/logs/cache.log 你將看到Squid啟動的相關資訊,如下行所示: 97/02/24 19:34:52| Starting Squid Cache version 1.1.10 for i586-pc-linux-gnu... 97/02/24 19:34:52| With 256 file descriptors available 97/02/24 19:34:52| Initializing IP Cache... 如果你沒有看見任何關於FATAL錯誤的資訊,Squid現在就可以很高興地在你的機器上執行了。 下面將配置你的瀏覽器,你可以好好地試一下哦! 4. 客戶端軟體的基本配置 以下是針對瀏覽器的基本配置: Netscape(4.5以上版本): 從Edit選單項中選擇Preferences項。在Advanced中Proxies頁,點選按鈕進入Proxy配置手冊,然後再點選View 按鈕。對每項你的Squid伺服器支援的協議項(預設有HTTP,FTP和gopher等)中填入Squid伺服器的主機名或IP地址,同時在Port欄中填入Squid伺服器的HTTP埠號(預設為3128)。對你的Squid不支援的協議,可以讓這些欄空著。 IE(5.0以上中文版本): 在工具選單項中選擇Internet選項,然後點選連線頁,再按區域網設定按鈕選擇使用代理伺服器選項,進入高階專案編輯。然後可以看到與Netscape代理伺服器設定類似的介面,按照前面所述的方法分別填入相應項即可。 一般Unix下配置: 如果你使用可以允許你訪問web的Unix程式(包括wget,lynx和mosaic等),你可以設定shell變數,透過這些變數可以配置好代理。 如果你使用的shell是tcsh或csh,命令如下: % setenv http_proxy % setenv gopher_proxy % setenv ftp_proxy 現在你就可以使用你的瀏覽器與緩衝連線以下載頁面了。為了檢查透過緩衝是否工作正常,可以檢視/usr/local/squid/logs/access.log檔案的內容,使用命令如下:more /usr/local/squid/logs/access.log。你可以看到所有你進行的訪問資訊都顯示在該檔案中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940652/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Squid Proxy Server基礎入門(轉)UIServer
- squid 配置詳解+認證(轉)UI
- maven安裝與基礎配置Maven
- squid 簡單配置UI
- Apache基礎配置與日誌管理Apache
- 區域網交換機的配置與選購基礎知識(轉)
- 用squid配置代理伺服器(基於Ubuntu Server 12.04)UI伺服器UbuntuServer
- Ansible學習筆記——基礎與配置筆記
- Apache基礎配置與日誌管理解析Apache
- webpack基礎配置與css相關loaderWebCSS
- webpack基礎配置Web
- babel基礎配置Babel
- Maven基礎配置Maven
- Squid 工作的原理(轉)UI
- cron輔助squid(轉)UI
- Yii2.0 RESTful API 基礎配置教程[轉載]RESTAPI
- Squid - A quick start guide(轉)GUIIDE
- webpack-基礎配置Web
- Linux基礎配置Linux
- Mybatis的基礎配置MyBatis
- hibernate基礎配置
- 無線基礎配置
- 【C基礎】整形提升與算數轉換
- shell基礎(轉)
- ODBC 基礎(轉)
- PKI基礎 (轉)
- vb基礎 (轉)
- 路由器配置基礎--設定對話過程 (轉)路由器
- 分享交換機 VLAN 配置基礎及例項探討(轉)
- webpack4-基礎配置Web
- webpack4基礎配置Web
- Flask基礎環境配置Flask
- webpack基礎配置紀實Web
- Docker 基礎 : 網路配置Docker
- Huawei裝置基礎配置
- java 基礎型別與byte[]的轉換Java型別
- JAVA基礎:JSP與Servlet的區別(轉)JavaJSServlet
- 配置 Squid 作為 SSH 代理伺服器UI伺服器