squid反向代理緩存安裝配置

jopen 11年前發布 | 24K 次閱讀 Squid 緩存服務器

squid是優秀的代理服務器之一,發展歷史相當悠久,功能也相當完善,許多大型網站都會用到squid作為web加速服務器。下面我們學習squid的反向代理緩存的使用。

架構環境說明

本實例的域名是 cache.centos.bz,通過DNS的輪詢技術,將客戶端的請求分發給其中一臺 Squid 反向代理服務器處理,如果這臺 Squid 緩存了用戶的請求資源,則將請求的資源直接返回給用戶,否則這臺 Squid 將沒有緩存的請求根據配置的規則發送給鄰居 Squid 和后臺的 WEB 服務器處理,這樣既減輕后臺 WEB 服務器的負載,又提高整個網站的性能和安全性。該系統結構圖 如下:
squid反向代理緩存安裝配置
配置的系統環境:
一臺 DNS 服務器:為域名cache.centos.bz添加兩條A記錄192.168.1.110和192.168.1.111。
兩臺Squid 服務器:
squid1:192.168.1.110
squid2:192.168.1.111
兩臺后端WEB 服務器:
webServer1:192.168.1.220
webServer2:192.168.1.221
dns的配置這里不作介紹,主要介紹squid的安裝配置。

squid安裝

  1. yum install gcc wget perl gcc-c++ make
  2. cd /tmp
  3. wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.19.tar.gz
  4. tar xzf squid-3.1.19.tar.gz
  5. cd squid-3.1.19
  6. ./configure
  7. make && make install
  8. groupadd squid
  9. useradd -g squid -s /sbin/nologin squid
  10. chown -R squid /usr/local/squid/var/logs/ /usr/local/squid/var/cache/

squid反向代理配置

配置 Squid1 服務器:

  1. vi /usr/local/squid/etc/squid.conf
  1. cache_effective_user squid
  2.  cache_effective_group squid
  3.  
  4.  ### 設定 squid 的主機名 , 如無此項 squid 將無法啟動
  5.  visible_hostname squid1.centos.bz
  6.  
  7.  #### 配置 squid 為加速模式
  8.  http_port 80 accel vhost vport
  9.  icp_port 3130
  10.  
  11.  ### 配置 squid2 為其鄰居,當 squid1 在其緩存中沒有找到請求的資源時,通過 ICP 查詢去其鄰居中取得緩存
  12.  cache_peer squid2.centos.bz sibling 80 3130
  13.  
  14.  ### squid1 的兩個父節點,originserver 參數指明是源服務器, round-robin  參數指明 squid 通過輪詢方式將請求分發到其中一臺父節點; squid 同時會對這些父節點的健康狀態進行檢查,如果父節點 down 了,那么 squid 會從剩余的 origin 服務器中抓取數據,round-robin表示使用通過 RR 輪詢方式轉發到兩個父節點中的一個
  15.  cache_peer 192.168.1.220 parent 8080 0 no-query originserver round-robin  name=webServer1
  16.  cache_peer 192.168.1.221 parent 8080 0 no-query originserver round-robin  name=webServer2
  17.  
  18.  ###允許webServer1 webServer2  cache.centos.bz的請求
  19.  cache_peer_domain webServer1 webServer2  cache.centos.bz
  20.  
  21.  ####下面是一些訪問控制、日志和緩存目錄的設置
  22.  acl localnet src 192.168.1.110 192.168.1.111
  23.  http_access allow all
  24.  icp_access allow localnet
  25.  cache_log /usr/local/squid/var/logs/cache.log
  26.  access_log /usr/local/squid/var/logs/access.log squid
  27.  cache_dir ufs /usr/local/squid/var/cache/ 1000 16 256
  28.  
  29.  ### 對 squid 的一些優化
  30.  maximum_object_size 10240 KB  ### 能緩存的最大對象為 10M
  31.  maximum_object_size_in_memory 512 KB ### 內存中緩存的最大對象 512K
  32.  cache_mem 256 MB  ###squid 用于緩存的內存量

在/etc/hosts添加:

  1. squid1.centos.bz:192.168.1.110
  2. squid2.centos.bz:192.168.1.111

squid2的配置完全一樣,除了需要更改visible_hostname。

啟動squid

檢查 squid 配置文件正確與否:

  1. /usr/local/squid/sbin/squid –Nk parse

生成緩存目錄:

  1. /usr/local/squid/sbin/squid –N -z

啟動squid:

  1. /usr/local/squid/sbin/squid

參考:http://www.ibm.com/developerworks/cn/linux/l-cn-squid/

</div>

來源:《http://www.centos.bz/2012/05/squid-reverse-proxy-deploy/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!