前言: 公司服務(wù)器需要進(jìn)行遷移,從A機柜到B機柜,二機柜之間的距離為10米。哈哈。好近,盡管很近,但I(xiàn)P段不一樣。 因此web,dns,mail,mysql 都得切換~ 在這里呢,先寫一些切換前的準(zhǔn)備工作,squid 反向代理就是其中之一 特別感謝IORI,明的指點?。?!感謝黨,感謝人民,感謝你們~ 一.反向代理的概念 什么是反向代理呢?其實,反向代理也就是通常所說的WEB服務(wù)器加速,它是一種通過在繁忙的WEB服務(wù)器和Internet之間增加一個高速的 WEB緩沖服務(wù)器(即:WEB反向代理服務(wù)器)來降低實際的WEB服務(wù)器的負(fù)載。典型的結(jié)構(gòu)如下圖所示: ![]() ![]() Web服務(wù)器加速(反向代理)是針對Web服務(wù)器提供加速功能的。它作為代理Cache,但并不針對瀏覽器用戶,而針對一臺或多臺特定Web服務(wù)器 (這也是反向代理名稱的由來)。實施反向代理(如上圖所示),只要將Reverse Proxy Cache設(shè)備放置在一臺或多臺Web服務(wù)器前端即可。當(dāng) 互聯(lián)網(wǎng)用戶訪問某個WEB服務(wù)器時,通過DNS服務(wù)器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服務(wù)器的IP地址,這時 Reverse Proxy Server設(shè)備充當(dāng)Web服務(wù)器,瀏覽器可以與它連接,無需再直接與Web服務(wù)器相連。因此,大量Web服務(wù)工作量被卸載到反向代理 服務(wù)上。不但能夠防止外部網(wǎng)主機直接和web服務(wù)器直接通信帶來的安全隱患,而且能夠很大程度上減輕web服務(wù)器的負(fù)擔(dān),提高訪問速度。 二.反向代理工作原理 反向代理服務(wù)器位于本地WEB服務(wù)器和Internet之間,如下圖所示: 當(dāng)用戶瀏覽器發(fā)出一個HTTP請求時,通過域名解析將請求定向到反向代理服務(wù)器(如果要實現(xiàn)多個WEB服務(wù)器的反向代理,需要將多個WEB 服務(wù)器的域名都指向反向代理服務(wù)器)。由反向代理服務(wù)器處理器請求。反向代理一般只緩存可緩沖的數(shù)據(jù)(比如html網(wǎng)頁和圖片等),而一 些CGI腳本程序或者ASP之類的程序不緩存。它根據(jù)從WEB服務(wù)器返回的HTTP頭標(biāo)記來緩沖靜態(tài)頁面。 以上來自互聯(lián)網(wǎng) 三.squid做反向代理 1.安裝 注:如果系統(tǒng)是redhat 9,需要安裝epoll的庫文件(epoll有效的降低系統(tǒng)的I/0瓶頸,資源占用率) wget http://www.squid-cache.org/Versi ... -3.0.STABLE2.tar.gz 為了安全起見,建立squid運行的用戶及組 useradd squid -M -c "Squid user" -d /dev/null -s /sbin/nologin tar zxvf squid-3.0.STABLE2.tar.gz
--prefix=/usr/local/squid3 :指定安裝路徑 為便于管理 --enable-poll :提升性能 --enable-snmp :此選項可以讓MRTG使用SNMP協(xié)議對服務(wù)器的流量狀態(tài)進(jìn)行監(jiān)測,因此必須選擇此項,使Squid 支持SNMP接口。 --enable-storeio=ufs,null #使用的文件系統(tǒng)通常是默認(rèn)的ufs,不過如果想要做一個不緩存任何文件的代理 服務(wù)器,就需要加上null文件系統(tǒng)。 其它的參數(shù)等待大家來解釋。HOHO ~ make;make install 安裝完畢。 2.配置 注意:squid 的配置文件在:/usr/local/squid3/etc/squid.conf 這里是最重要的,也是最難的。
給目錄相應(yīng)的權(quán)限 chmod 666 -R /usr/local/squid3/var/logs chown squid:squid -R /usr/local/squid3/var/logs 保存配置! 3.測試配置是否正確 # /usr/local/squid2/sbin/squid -k parse 出現(xiàn)ERROR: WARNING: Cannot write log file: /usr/local/squid3/var/logs/cache.log /usr/local/squid3/var/logs/cache.log: Permission denied messages will be sent to 'stderr'. 2008/03/13 12:53:09| Creating Swap Directories FATAL: Failed to make swap directory /usr/local/squid3/var/cache: (13) Permission denied 很明顯權(quán)限不對,修改后測試通過! /usr/local/squid2/sbin/squid -z -z Create swap directories 是創(chuàng)建SWAP目錄的! 也就是cache_dir 中的目錄 相關(guān)的調(diào)試命令: http://bbs.chinaunix.net/thread-960422-1-1.html 4.啟動squid /usr/local/squid3/sbin/squid -Nd1 ps aux |grep squid 查看是否啟動 5.測試訪問WEB站點 本機hosts 文件指向squid代理服務(wù)器 出現(xiàn)ERROR: Access Denied. 訪問拒絕 Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect. 當(dāng)前的存取控制設(shè)定禁止您的請求被接受,如果您覺得這是錯誤的,請與您網(wǎng)路服務(wù)的提供者聯(lián)系。 本緩存服務(wù)器管理員:webmaster 配置文件設(shè)置不對: acl all src 0.0.0.0/0.0.0.0 http_access allow all 重新測試:OK 一切正常~~~ 查看相應(yīng)日志一切正常。 四. 配置squid 是方便web進(jìn)行切換,至于dns,mysql,mail切換文章請大家期待~ 總體來說,squid 配置不是很麻煩,主要是配置文件里的每一項,對服務(wù)器的產(chǎn)生的影響非常的重要。細(xì)節(jié)決定成功~ |