SQUID FOR WINDOWS配置

來源:互聯網
上載者:User

本文中SQUID放在172.20.65.201的機器上,應用WEB SERVER IP為172.20.65.203,其中SQUID在201上的80連接埠偵聽,測試用戶端機器為172.20.65.231,在squid.conf中#代表注釋,所以開啟某項設定,需去掉前面的#。TAG標籤代表每一功能項的設定。

1、下載

   下載SQUID FOR WINDOWS(我所用的版本是Squid 2.7.STABLE6,各個版本的配置可能略有不同,大家請注意)

2、安裝
   將SQUID解壓到c:\squid(當然也可解壓在其它盤符下)
 
3、建立磁碟緩衝和日誌目錄
   預設情況是在安裝磁碟下建立,為確保效能大幅度提升,建立選擇磁碟空間容量較大的盤符,如:建立d:\squid\var目錄,在var目錄下建立logs和cache目錄,其中logs目錄用   於存放日誌,cache目錄用於存放硬碟快取資料。

4、建立緩衝目操作許可權
   為了使抓取的資料,能夠存放在緩衝目錄下,建立系統賬戶如squidApp,將其屬於普通使用者組應可,將d:\squid授予該使用者讀寫權限即可。
   
5、檔案更改
   c:\squid\etc是SQUID的配置資訊的存放處,為確保安全,在你修改設定檔前,請將其備份,然後將squid.conf.default修改為squid.conf,
   mime.conf.default修改為 mime.conf ,cachemgr.conf.default 修改為cachemgr.conf
 
6、配置SQUID
   針對於SQUID來講大部分配都在squid.conf中,本文中所使用環境如下:

   開啟如下存取控制

   acl all src all   acl manager proto cache_object   acl localhost src 127.0.0.1/32   acl to_localhost dst 127.0.0.0/8   acl localnet src 172.16.65.231/255.255.0.0 指定本網及掩碼

   開啟訪問連接埠

   acl SSL_ports port 443   acl Safe_ports port 80 # http   acl Safe_ports port 21 # ftp   acl Safe_ports port 443 # https   acl Safe_ports port 70 # gopher   acl Safe_ports port 210 # wais   acl Safe_ports port 1025-65535 # unregistered ports   acl Safe_ports port 280 # http-mgmt   acl Safe_ports port 488 # gss-http   acl Safe_ports port 591 # filemaker   acl Safe_ports port 777 # multiling http   acl CONNECT method CONNECT

   開啟存取控制,請一定要注意順序

   http_access allow manager localhost   http_access deny manager   http_access deny !Safe_ports   http_access deny CONNECT !SSL_ports   http_access allow all   http_access allow localnet   http_access deny all

   指定SQUID在80連接埠偵聽, vhost 指定使用加速模式

   http_port 80 vhost 

    172.20.65.203後台WEB SERVER, parent指父節點, 80 指後台網站的連接埠, 0 ICP 服務連接埠,no-query  originserver 擷取緩衝時的選項

   cache_peer 172.20.65.203       parent    80  0  no-query  originserver

 
   緩衝設定

   maximum_object_size_in_memory 1024 KB   cache_dir ufs d:/squid/var/cache 1024 16 256 注意路徑   maximum_object_size 4096 KB   cache_swap_low 90   cache_swap_high 95

   日誌設定

   access_log d:/squid/var/logs/access.log squid 訪問日誌   cache_log d:/squid/var/logs/cache.log   cache_store_log d:/squid/var/logs/store.log   emulate_httpd_log on

   控制頁面緩衝內容

   refresh_pattern ^ftp: 1440 20% 10080   refresh_pattern ^gopher: 1440 0% 1440   refresh_pattern -i (/cgi-bin/|\?) 0 0% 0   refresh_pattern . 0 20% 4320   refresh_pattern -i \.css$ 20 50% 120 reload-into-ims   refresh_pattern -i \.xml$ 20 50% 120 reload-into-ims   refresh_pattern -i \.html$ 20 90% 120 reload-into-ims   refresh_pattern -i \.jpg$ 20 90% 120 reload-into-ims   refresh_pattern -i \.png$ 20 90% 120 reload-into-ims   refresh_pattern -i \.gif$ 20 90% 120 ignore-reload   refresh_pattern -i \.js$ 20 90% 120  reload-into-ims   refresh_pattern -i \.htm$ 20 90% 120 reload-into-ims

   設定郵箱

   cache_mgr webmaster_breeze

 
   設定本地主機檔案

 hosts_file c:/windows/system32/drivers/etc/hosts

 
7、安裝服務
   將squid安裝為服務,命令格式:

squid -i [-f configfile] [-n servicename],如c:\squid\sbin\squid -i -n Squid_Proxy

 
8、初始化緩衝目錄 

   c:\squid\sbin\squid -z 

 
9、啟動Squid_Proxy服務 
   運行services.msc開啟服務視窗,選擇Squid_Proxy服務 ,如果啟動過程出錯90%是設定檔出現問題。

10、squid命令 

   squid -k reconfigure  //啟用新的設定檔    squid -k rotate       //截斷日誌    squid -k shutdown     //stop squid    squid -dx 當服務不能啟動時,進行調試

更多配置請參見文檔
 
四、SQUID測試
找一台機器進行測試,並查看access.log日誌,如果出現 TCP_DENY的資訊,多為配置不正確。如出現如下資訊TCP_MEM_HIT/200 表示,SQUID已經起作用,該請求是從 SQUID運行機器的記憶體中響應的。

######################
常用調試命令
######################

1、初始化你在 squid.conf 裡配置的 cache 目錄
#squid/sbin/squid -z //第一次啟動squid服務時必須輸入此命令

如果有錯誤提示,請檢查你的 cache目錄的許可權。

2、對你的squid.conf 排錯,即驗證 squid.conf 的 文法和配置。

#squid/sbin/squid -k parse

如果squid.conf 有文法或配置錯誤,這裡會返回提示你,如果沒有返回,恭喜,可以嘗試啟動squid。

3、在前台啟動squid,並輸出啟動過程。

#squid/sbin/squid -N -d1
如果有到 ready to server reques,恭喜,啟動成功。

然後 ctrl + c,停止squid,並以後台啟動並執行方式啟動它。

4、啟動squid在後台運行。

#squid/sbin/squid -s

這時候可以 ps -A 來查看系統進程,可以看到倆個 squid 進程。

5、停止 squid

#squid/sbin/squid -k shutdown
這個不用解釋吧。

6、重引導修改過的 squid.conf

#squid/sbin/squid -k reconfigure

這個估計用的時候比較多,當你發現你的配置有不盡你意的時候,可以隨時修改squid.conf,然後別忘記對你的 squid.conf排錯,然後再執行此指令,即可讓運行中squid重新按照你的squid.conf 來運行。

7、把squid添加到系統啟動項

編輯 /etc/rc.d/rc.local
添加如下行: /usr/local/squid/sbin/squid -s

當然,並不是每個人都喜歡這種啟動方式,你可以用你最習慣的方式;或者把它安裝為服務。

其他

1、修改cache 緩衝目錄的許可權。

#chown -R squid:squid /home/cache

我的cache緩衝目錄是 /home/cache,squid執行使用者和使用者組是 squid,squid。

2、修改squid 日誌目錄的許可權

#chown -R squid:squid /usr/local/squid/var/logs
這一步並不是適合每一個使用squid的使用者.意為讓squid有許可權在該目錄進行寫操作 。

例如產生 access.log cache.log store.log

3、查看你的日誌文檔。

#more /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT
該指令可以看到在squid運行過程中,有那些檔案被squid緩衝到記憶體中,並返回給訪問使用者。
#more /usr/local/squid/var/logs/access.log | grep TCP_HIT
該指令可以看到在squid運行過程中,有那些檔案被squid緩衝到cache目錄中,並返回給訪問使用者。
#more /usr/local/squid/var/logs/access.log | grep TCP_MISS
該指令可以看到在squid運行過程中,有那些檔案沒有被squid緩衝,而是現重原始伺服器擷取並返回給訪問使用者。
關於 TCP_XXXX 等參數及代表的資訊,請參看彭勇華《squid中文權威指南》13.2.1 章節。

當然,本例中的藍色文字是可以修改為其他的參數,例如你的網域名稱,同樣可以看到access.log裡關於該網域名稱的行。

4、squid -k rotate 輪換squid的記錄檔/var/log/squid,SquidProxy 伺服器記錄檔
的增長速度是驚人的,很容易十二碼滿磁碟空間導致系統不能正常工作,甚至是死機.為瞭解決記錄檔增長太快的問題,squid採用了"輪換"的方法.在squid.conf中可以通過logfile_rotate來設定檔案輪換的個數,如:
logfile_rotate 10 ,輪換的工作一般用crontab定時器完在周期性的日誌輪換,例如每周六淩晨2:00進行日誌輪換,則執行如下命令: crontab -e
0 2 * * 6 squid -k rotate
小貼士:Squid預設的錯誤提示資訊為英文,對於英文不好的使用者來說,實在不方便.在/etc/squid/squid.conf裡添加如下:
error_directory /usr/share/squid/errors/Simplify_Chinese 即可顯示中文的錯誤提示。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.