Squid-Linux下的使用詳解(轉)
Squid-Linux下的使用詳解(轉)[@more@]做為眼下最流行的作業系統,Linux已經越來越受到世人的關注。雖然目前Linux的軟體還不是很豐富,替代WINDOWS作為普通PC機作業系統還為時過早,但是在伺服器領域,Linux的穩定性,可操作性決不輸於任何作業系統,並且也有優秀的軟體支援。Squid就是其中之一。Linux加Squid的組合做為代理伺服器,效能遠遠超過WINNT加MSPROXY2.0(個人觀點),為幾百人的小型區域網代理綽綽有餘。下面,我就詳細的介紹Squid的安裝及使用技巧,希望大家能夠喜歡上它。 1.Squid簡介 Squid是一個快取internet資料的一個軟體,它接收使用者的下載申請,並自動處理所下載的資料。也就是說,當一個使用者象要下載一個主頁時,它向Squid發出一個申請,要Squid替它下載,然後Squid連線所申請網站並請求該主頁,接著把該主頁傳給使用者同時保留一個備份,當別的使用者申請同樣的頁面時,Squid把儲存的備份立即傳給使用者,使使用者覺得速度相當快。目前,Squid 可以代理HTTP, FTP, GOPHER, SSL 和 WAIS 協議,暫不能代理POP, NNTP等協議。不過,已經有人開始修改Squid,相信不久的將來,Squid能夠代理這些協議。 Squid能夠快取任何資料嗎?不是的。象快取信用卡帳號、可以遠方執行的scripts、經常變換的主頁等是不合適的也是不安全的。Squid可以自動的進行處理,你也可以根據自己的需要設定Squid,使之過濾掉你不想要的東西。 Squid可以工作在很多的作業系統中,如AIX, Digital Unix, FreeBSD, HP-UX, Irix, Linux, NetBSD, Nextstep, SCO, Solaris,OS/2等,也有不少人在其他作業系統中重新編譯過Squid。 Squid對硬體的要求是記憶體一定要大,不應小於128M,硬碟轉速越快越好,最好使用伺服器專用SCSI硬碟,處理器要求不高,400MH以上既可。2. Squid的編譯和執行 其實現在的Linux發行套件中基本都有已經編譯好的Squid,你所作的就是安裝它既可。如果你手頭沒有現成的編譯好的Squid或想使用最新的版本,去ftp:squid.nlanr.net下載一份,自己編譯。 Squid的編譯是非常簡單的,因為它基本上是自己配置自己。最容易出現的問題是你的系統上沒有合適的編譯器,這可以透過安裝相應的編譯器解決。如果出現其他問題,你可以問一下有經驗的使用者或到相應的郵件列表尋找幫助。 編譯Squid之前,最好建一個專門執行Squid的使用者和組。我就在自己的伺服器上建了一個名為squid的使用者和組,使用者目錄設為/usr/local/squid。然後su為使用者squid並從squid.nlanr.net下載Squid的原始檔到目錄 /usr/local/squid/src中,用如下命令進行解壓: %tar xzf squid-2.0.RELEASE-src.tar.gz %cd /usr/local/squid/src/ squid-*.*.RELEASE / %./configure %make %make install 第一個命令在目錄/usr/local/squid/src中產生一個新的子目錄/squid-*.*.RELEASE/。命令./configure會自動查詢你的系統配置情況以及你係統中使用的標頭檔案。不加引數的./configure會把Squid安裝在目錄/usr/local/squid中,如果你想使用其他目錄,用如下命令./configure --prefix=/some/other/directory,這會把Squid安裝在目錄/some/other/directory中。make命令編譯Squid,make install命令安裝Squid。 不出意外的話,目錄/usr/local/squid中會出現如下目錄: /bin /cache /etc /logs/ /src (自己建立的) 目錄/bin中含有Squid可執行程式,包括Squid本身,ftpget等。 目錄/cache包含Squid快取的資料,其中包含象/00/ /01/ /02/ 以及/03/這樣的目錄,這些目錄中還有子目錄,因為目錄多了比在一個目錄成千上萬的檔案中尋找一個檔案更容易,速度更快。 目錄/etc中包含Squid的唯一的配置檔案squid.conf。 目錄/logs中包含Squid的日誌。3. squid.conf檔案的配置 在安裝Squid後,在目錄/usr/local/squid /etc中會自動產生一個樣本squid.conf檔案,檔案中對每一個選項都有詳細的說明,使用者可以透過修改該檔案以滿足不同的需要。 總的來說,有如下幾個重要選項: ·http_port:設定Squid監聽的埠,你最好設一個比較好記的埠號,以便在進行客戶機配置時容易記住。我的機器上埠號設的是8080。預設為3128。 ·cache_mem:設定Squid佔用的實體記憶體,根據我的經驗,cache_mem的大小不應超過你的服務器實體記憶體的三分之一,否則將會影響機器的總體效能。 ·maximum_object_size:設定Squid可以接收的最大物件的大小。Squid預設值為4M,我自己入認為太大,你可以根據自己的需要進行設定。 ·cache_dir:設定快取的位置、大小。一般看起來形式如下“cache_dir /usr/local/squid/cache 100 16 256”。 /usr/local/squid/cache代表快取的位置;100代表快取最大為100M;16和256代表一級和二級目錄數。 ·cache_effective_user:設定使用快取的有效使用者。預設為使用者nobody,如果你的系統中沒有使用者nobody,最好建一個或以非root使用者執行Squid。 下面我給出一個最簡單的squid.conf檔案: #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 #define RAM used cache_mem 32M #defines the cache size cache_dir /usr/local/squid/cache 100 16 256 #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 這個配置檔案允許所有人使用Squid,建立了100M快取,使用32M記憶體,在預設位置"/usr/local/squid/cache"快取資料,所有快取資料以組squid和使用者squid身份儲存,埠為3128。雖然這個配置很不安全,但是它已經能使用了。4. 執行Squid 首先以root身份登陸。執行如下命令: %/usr/local/squid/bin/squid –z 該命令會產生Squid所有的快取目錄。 如果你想前臺執行Squid,接著執行命令: %/usr/local/squid/bin/squid -NCd1 該命令正式啟動Squid。如果一切正常,你會看到一行輸出 Ready to serve requests. 如果想後臺執行Squid,把它做為一個精靈程式,執行命令: %/usr/local/squid/bin/squid 觀察Squid是否執行使用命令: % squid -k check 輸出會告訴你Squid的當前狀態。 好了,文章先寫到這裡,其實這裡介紹的都是最基本的東西,Squid有好多高階的功能,如做WEB伺服器的快取記憶體,做二級代理伺服器,做為防火牆,以及怎樣設定過濾規則等,這裡就不詳述了,如果有機會再奉獻給大家。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940733/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下使用aMsn詳解(轉)Linux
- eval使用詳解(轉)
- 【轉】非同步的AsyncHttpClient使用詳解非同步HTTPclient
- Oracle Profile 使用詳解(轉)Oracle
- passwd 命令使用詳解(轉)
- chattr 命令使用詳解(轉)
- mv命令使用詳解(轉)
- su命令使用詳解(轉)
- 轉載-RMAN下CROSSCHECK命令詳解ROS
- find和xargs使用詳解(轉)
- ind和xargs使用詳解(轉)
- 報表式CListCtrl的使用詳解初稿 (轉)
- centos7下Firewall使用詳解CentOS
- MFC下CSocket程式設計詳解(轉)程式設計
- LINUX下fstab引數詳解(轉)Linux
- 正規表示式使用詳解(轉)
- Linux/Unix環境下的make命令詳解(轉)Linux
- linux下ping命令使用詳解Linux
- CentOS 7.0下使用yum安裝mysql的方法詳解CentOSMySql
- Python呼叫windows下DLL詳解 - ctypes庫的使用PythonWindows
- 詳解ASR語音轉寫場景下的應用
- DELPHI中使用API函式詳解 (轉)API函式
- 【轉載】linux tail命令的使用方法詳解LinuxAI
- VC常用資料型別使用轉換詳解 (轉)資料型別
- CMAKE的使用詳解
- Mybatis的使用詳解MyBatis
- Linux下SSH命令使用方法詳解Linux
- 詳解oracle使用者建立(create user)(下)Oracle
- Linux教程-系統管理-/etc下的檔案詳解(轉)Linux
- Flutter 路由跳轉及傳值詳解(Navigator的使用)Flutter路由
- websocket詳解(轉)Web
- NIS詳解(轉)
- grub詳解(轉)
- bash(詳解)(轉)
- classpath 詳解(轉)
- 微信跳轉外部瀏覽器下載app詳解瀏覽器APP
- Windows下SVN命令列工具使用詳解(附加TortoiseSVN)Windows命令列
- 轉載:Apache的配置詳解Apache