1. 程式人生 > 其它 >|NO.Z.00016|——————————|^^ 構建 ^^|——|squid快取/代理服務.V1|-------------------------------|4臺server|

|NO.Z.00016|——————————|^^ 構建 ^^|——|squid快取/代理服務.V1|-------------------------------|4臺server|



[Applications:squid快取/代理服務.V1]                                                              [Applications.LBC&HAC$HPC] [叢集|squid快取/代理服務|squid傳統模式|squid透明模式|squid反向代理模式|ACL|HTTP_ACCESS|4臺server]








一、squid簡介
### --- squid簡介

~~~     一個快取伺服器的守護程序
~~~     (二八原則:百分之八十的訪問量都是由百分之二十的資料去完成的。)        
~~~     FTP(VSFTP的前端的快取) HTTP SSL:    支援的反向代理的型別
~~~     磁碟 分割槽 目錄 object :
~~~     不同磁碟下構建分割槽再在分割槽下構建目錄,只能支援二級目錄,
~~~     在下面存放的是object(物件的含義在squid中是快取,充當著快取的角色)
~~~     (通過下面兩個表進行查詢,就可以快速的查詢到快取)
~~~     Hash tables 目錄 每個digest的索引資訊
~~~     Digest tables 索引 不同分割槽對應object大概說明
~~~     (UFS的檔案系統,UFS不支援太複雜的許可權設定,它也不需要太複雜的許可權設定)
~~~     squid針對的是單個檔案比較大的型別快取,效能較高   squid只支援rr模式。
~~~     Varnish :squid的競爭者。通過記憶體分頁技術傳輸資料。
~~~     單個檔案比較小的型別快取效能相對squid的較好。
二、Squid工作邏輯
### --- Squid工作邏輯

~~~     客戶機發起請求到squid代理伺服器,
~~~     squid代理伺服器會在cache中尋找到底有沒有想要資料的儲存檔案或者快取檔案
~~~     若是沒有它會向後端伺服器發起請求,後端伺服器會把這個請求返回給squid伺服器
~~~     squid伺服器把資料儲存在cache中,再返回給客戶端。
~~~     下一次進來訪問若是有快取會直接把資料返回給客戶端。不需要進行後端伺服器的互動
~~~     設定最大的快取量,以及快取的約束,來減少squid的壓力    
、工作模式
### --- 工作模式

~~~		傳統代理:內網使用者做的加速訪問
~~~		透明代理:內網使用者做的加速訪問
~~~		反向代理:公網使用者做的加速訪問
四、傳統模式
### --- 傳統模式

~~~     Internet伺服器是公網的web伺服器公網存在對應的web伺服器
~~~     內網想訪問公網的話,必須要把請求交給squid伺服器 
~~~     squid伺服器會向公網索要資料,公網反饋資料給squid伺服器之後
~~~     squid伺服器再返回給客戶端,達到代理的過程。
~~~     相當於我要什麼,都是squid幫我獲取資料。
~~~     若是下一次再次訪問這個資料,squid不會進行公網互動,會直接在快取中獲取資料。
~~~     明確指明代理伺服器的IP地址和埠號:IE——>internet選項——>連線
~~~     ——>區域網LAN設定——>代理伺服器(告訴這個瀏覽器要是想要訪問公網的話
~~~     那個IP和埠去獲取資料)內網情況下配置(透明模式可以解決這一缺陷)
五、透明模式
### --- 透明模式

~~~     工作流程和傳統模式的工作模式一直
~~~     通過防火牆iptables或者其它功能的設定去讓服務功能自動的轉交,
~~~     在客戶端裡不需要配置代理端的IP埠。
~~~     內網使用者可能不知道使用squid服務代理上網,但實實在在進行squid服務提供服務。
六、反向代理模式
### --- 反向代理模式

~~~     web1/web2/web3伺服器是在內網環境下,
~~~     PC1.PC2兩個公網的客戶端
~~~     客戶端通過公網訪問到squid伺服器,squid伺服器再訪問到web伺服器。
~~~     squid拿到資料之後會把資料快取在本機。下一次公網使用者訪問相同資料時直接返回,
~~~     減輕後端伺服器的壓力。
七、squid簡介(版本到達3.x版本)
### --- squid簡介(版本到達3.x版本)

~~~     squid服務端:
~~~     軟體包:squid-2.6.STABLE21-6.e15(3.1之後使用c語言重構)
~~~     系統服務:squid
~~~     主程式:/usr/sbin/squid
~~~     主配置檔案:/etc/squid/squid.con
~~~     預設監聽埠: TCP 3128
~~~     預設訪問日誌:/var/log/squid/access.log
八、常見配置
### --- 常見配置

http_port 3128                                                              // 指定埠
access_log /var/log/squid/access.log squid                                  // 指定日誌及日誌的使用者squid
cache_mem 64 MB                                                             // cache_mem squid程序能夠呼叫的最大的記憶體資源
cache_dir ufs /var/spool/squid 100 16 256                                   // cache_dir快取目錄,使用的檔案系統UFS /var/spool/squid快取目錄路徑  100:快取目錄能夠使 用的最大的儲存資源兆比,16:一級目錄的最大個數,256:二級目錄的最大個數 
visible_hostname proxy.benet.com                                            // visible_hostname:可見名稱 proxy.benet.com名稱命名格式
dns_testnames www/google.com www.163.com                                    // dns_testnames:dns代理,squid代理使用者請求的,若是發現自己都宕機的話是不可以代理的。它有一個自我判斷自己是否宕機的機制,通過訪問較為穩定的公網www/google.com www.163.com:定時的去測試是否能夠正常訪問;若是不可以訪問,說明它已經宕機,會發出相應的告警資訊
maximum_object_size 4096 KB                                                 // 快取:maximum_object_size 4096 KB 最大快取物件的大小 ,快取一般快取的是 靜態資源。此超過4096就不需要快取了   
reply_body_max_size 10MB                                                    // 允許:reply_body_max_size 10MB    允許我們訪問的最大的單個檔案最大的大小。允許經過通過代理的最大資料。            








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)