应用squid全面加速web(全)
生活随笔
收集整理的這篇文章主要介紹了
应用squid全面加速web(全)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
############################################### 模式1:Squid對應多臺web服務器
在vi /etc/hosts中:加入內部的DNS解析,比如:
192.168.0.9??? www.winkee.com
192.168.0.66??? bbs.winkee.com
A2、#vi /Data/apps/squid/etc/squid.conf
代碼如下:
# visible name
visible_hostname cache.winkee.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /Data/apps/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid? #設置運行時的用戶和組權限
cache_effective_group squid
# 反向加速配置
http_port 80?? # squid監聽的端口,客戶訪問網站的端口
httpd_accel_host virtual? # WEB服務器的IP地址,此模式下設置為:virtual
httpd_accel_single_host off? # 設置on時緩沖請求到單臺Server,off對應virtual
httpd_accel_port 80? # WEB服務器的端口(對于多臺web服務器,端口必須一致)
httpd_accel_uses_host_header on? # 完成多個WEB服務器的反向代理功能
httpd_accel_with_proxy off??? # 停用代理本地上網
# accelerater my domain only
acl HostA dstdomain? www.winkee.com
acl HostB dstdomain? bbs.winkee.com
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the right port with right protocol
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow acceleratedProtocol acceleratedPort HostB
http_access allow all
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
cache_mgr admin@winkee.com
#swap 性能微調
half_closed_clients off
cache_swap_high 100%
cache_swap_low 95%
maximum_object_size 1024 KB
# 控制對象的超時時間 (S_Data-Data)<Min+(Max-Min)*90%
refresh_pattern -i .html 60 90% 10080 reload-into-ims
#refresh_pattern -i \.html$ 60 90% 10080 reload-into-ims
refresh_pattern -i .png 60 90% 10080 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 10080 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
# refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
# refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
# 禁止緩存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
#logfile_rotate 可以用logfile_rotate 0來取消自動操作
logfile_rotate 4[/quote] ########################################################
模式2:Squid 與 web是單獨兩臺服務器
# vi /Data/apps/squid/etc/squid.conf? 代碼如下:
# visible name
visible_hostname cache.winkee.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /Data/apps/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid? #設置運行時的用戶和組權限
cache_effective_group squid
# 反向加速配置
http_port 80?? # squid監聽的端口,客戶訪問網站的端口
httpd_accel_host ip_address? # WEB服務器的IP地址
httpd_accel_single_host on # 設置轉發為緩沖的請求到一臺單獨的機器
httpd_accel_port 80??? # WEB服務器的端口
httpd_accel_uses_host_header off? # 完成單臺WEB服務器的反向代理功能
httpd_accel_with_proxy off??? # 停用代理本地上網
# accelerater my domain only
acl HostA dst ip_address # WEB服務器的IP地址
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the right port with right protocol
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow all
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
cache_mgr admin@winkee.com
#swap 性能微調
half_closed_clients off
cache_swap_high 100%
cache_swap_low 95%
maximum_object_size 1024 KB
# 控制對象的超時時間 (S_Data-Data)<Min+(Max-Min)*90%
refresh_pattern -i .html 60 90% 10080 reload-into-ims
refresh_pattern -i .png 60 90% 10080 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 10080 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
# refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
# refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
# 禁止緩存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
#logfile_rotate 可以用logfile_rotate 0來取消自動操作
logfile_rotate 4 ###########################################################
模式3:Squid 與 Web是同一臺服務器
# vi /Data/apps/squid/etc/squid.conf? 代碼如下:
# visible name
visible_hostname cache.winkee.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /Data/apps/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid? #設置運行時的用戶和組權限
cache_effective_group squid
# 反向加速配置
http_port 80?? # squid監聽的端口,客戶訪問網站的端口
httpd_accel_host ip_address? # WEB服務器的IP地址
httpd_accel_single_host on # 設置轉發為緩沖的請求到一臺單獨的機器
httpd_accel_port 81??? # WEB服務器的端口
httpd_accel_uses_host_header off? # 完成單臺WEB服務器的反向代理功能
httpd_accel_with_proxy off??? # 停用代理本地上網
# accelerater my domain only
acl HostA dst ip_address # WEB服務器的IP地址
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the right port with right protocol
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow all
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
cache_mgr admin@winkee.com
#swap 性能微調
half_closed_clients off
cache_swap_high 100%
cache_swap_low 95%
maximum_object_size 1024 KB
# 控制對象的超時時間 (S_Data-Data)<Min+(Max-Min)*90%
refresh_pattern -i .html 60 90% 10080 reload-into-ims
refresh_pattern -i .png 60 90% 10080 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 10080 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
# refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
# refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
# 禁止緩存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
# logfile_rotate 可以用logfile_rotate 0來取消自動操作
logfile_rotate 4 Setp 3 –Starting Squid
1、??? 創建緩存目錄
# cd /Data/apps/squid/sbin
#./squid –z?? # 出現Creating Swap Directories提示,表示建立成功
2、??? 運行Squid
# cd /Data/apps/squid/sbin
#./squid –NCd1 # 成功后將出現"Ready to serve requests".否則請檢查配置文件
說明,用squid -NCd1來以debug模式啟動,這樣如果有錯誤會報出來,一般如果是ADSL撥號的,那么在沒有撥號之前就啟動squid的話是會出錯的(FATAL: ipcache_init: DNS name lookup tests failed),因為squid啟動時會去檢查一些常用的DNS,但是這時候你并沒有接入internet,自然就出錯了,所以我們需要在啟動的時候不檢查DNS,這就需要用加上-D選項來啟動squid,命令如下:
#./squid –NCDd1 # 參數Dd1的目的是禁止測試DNS的連通性并且把squid在開始運行后的一些提示信息顯示在屏幕上) 注意事項:
1、Squid的配置文件squid.conf更改后必須重新運行squid
2、Squid服務器的hosts文件更改后必須重新運行squid
在vi /etc/hosts中:加入內部的DNS解析,比如:
192.168.0.9??? www.winkee.com
192.168.0.66??? bbs.winkee.com
A2、#vi /Data/apps/squid/etc/squid.conf
代碼如下:
# visible name
visible_hostname cache.winkee.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /Data/apps/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid? #設置運行時的用戶和組權限
cache_effective_group squid
# 反向加速配置
http_port 80?? # squid監聽的端口,客戶訪問網站的端口
httpd_accel_host virtual? # WEB服務器的IP地址,此模式下設置為:virtual
httpd_accel_single_host off? # 設置on時緩沖請求到單臺Server,off對應virtual
httpd_accel_port 80? # WEB服務器的端口(對于多臺web服務器,端口必須一致)
httpd_accel_uses_host_header on? # 完成多個WEB服務器的反向代理功能
httpd_accel_with_proxy off??? # 停用代理本地上網
# accelerater my domain only
acl HostA dstdomain? www.winkee.com
acl HostB dstdomain? bbs.winkee.com
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the right port with right protocol
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow acceleratedProtocol acceleratedPort HostB
http_access allow all
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
cache_mgr admin@winkee.com
#swap 性能微調
half_closed_clients off
cache_swap_high 100%
cache_swap_low 95%
maximum_object_size 1024 KB
# 控制對象的超時時間 (S_Data-Data)<Min+(Max-Min)*90%
refresh_pattern -i .html 60 90% 10080 reload-into-ims
#refresh_pattern -i \.html$ 60 90% 10080 reload-into-ims
refresh_pattern -i .png 60 90% 10080 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 10080 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
# refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
# refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
# 禁止緩存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
#logfile_rotate 可以用logfile_rotate 0來取消自動操作
logfile_rotate 4[/quote] ########################################################
模式2:Squid 與 web是單獨兩臺服務器
# vi /Data/apps/squid/etc/squid.conf? 代碼如下:
# visible name
visible_hostname cache.winkee.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /Data/apps/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid? #設置運行時的用戶和組權限
cache_effective_group squid
# 反向加速配置
http_port 80?? # squid監聽的端口,客戶訪問網站的端口
httpd_accel_host ip_address? # WEB服務器的IP地址
httpd_accel_single_host on # 設置轉發為緩沖的請求到一臺單獨的機器
httpd_accel_port 80??? # WEB服務器的端口
httpd_accel_uses_host_header off? # 完成單臺WEB服務器的反向代理功能
httpd_accel_with_proxy off??? # 停用代理本地上網
# accelerater my domain only
acl HostA dst ip_address # WEB服務器的IP地址
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the right port with right protocol
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow all
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
cache_mgr admin@winkee.com
#swap 性能微調
half_closed_clients off
cache_swap_high 100%
cache_swap_low 95%
maximum_object_size 1024 KB
# 控制對象的超時時間 (S_Data-Data)<Min+(Max-Min)*90%
refresh_pattern -i .html 60 90% 10080 reload-into-ims
refresh_pattern -i .png 60 90% 10080 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 10080 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
# refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
# refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
# 禁止緩存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
#logfile_rotate 可以用logfile_rotate 0來取消自動操作
logfile_rotate 4 ###########################################################
模式3:Squid 與 Web是同一臺服務器
# vi /Data/apps/squid/etc/squid.conf? 代碼如下:
# visible name
visible_hostname cache.winkee.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /Data/apps/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid? #設置運行時的用戶和組權限
cache_effective_group squid
# 反向加速配置
http_port 80?? # squid監聽的端口,客戶訪問網站的端口
httpd_accel_host ip_address? # WEB服務器的IP地址
httpd_accel_single_host on # 設置轉發為緩沖的請求到一臺單獨的機器
httpd_accel_port 81??? # WEB服務器的端口
httpd_accel_uses_host_header off? # 完成單臺WEB服務器的反向代理功能
httpd_accel_with_proxy off??? # 停用代理本地上網
# accelerater my domain only
acl HostA dst ip_address # WEB服務器的IP地址
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the right port with right protocol
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow all
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
cache_mgr admin@winkee.com
#swap 性能微調
half_closed_clients off
cache_swap_high 100%
cache_swap_low 95%
maximum_object_size 1024 KB
# 控制對象的超時時間 (S_Data-Data)<Min+(Max-Min)*90%
refresh_pattern -i .html 60 90% 10080 reload-into-ims
refresh_pattern -i .png 60 90% 10080 reload-into-ims
refresh_pattern -i .jpg 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif 1440 90% 129600 reload-into-ims
refresh_pattern -i .js 1440 90% 10080 reload-into-ims
refresh_pattern -i .swf 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp 1440 90% 129600 reload-into-ims
# refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
# refresh_pattern -i .hml 1440 90% 129600 reload-into-ims
# 禁止緩存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl
# logfile_rotate 可以用logfile_rotate 0來取消自動操作
logfile_rotate 4 Setp 3 –Starting Squid
1、??? 創建緩存目錄
# cd /Data/apps/squid/sbin
#./squid –z?? # 出現Creating Swap Directories提示,表示建立成功
2、??? 運行Squid
# cd /Data/apps/squid/sbin
#./squid –NCd1 # 成功后將出現"Ready to serve requests".否則請檢查配置文件
說明,用squid -NCd1來以debug模式啟動,這樣如果有錯誤會報出來,一般如果是ADSL撥號的,那么在沒有撥號之前就啟動squid的話是會出錯的(FATAL: ipcache_init: DNS name lookup tests failed),因為squid啟動時會去檢查一些常用的DNS,但是這時候你并沒有接入internet,自然就出錯了,所以我們需要在啟動的時候不檢查DNS,這就需要用加上-D選項來啟動squid,命令如下:
#./squid –NCDd1 # 參數Dd1的目的是禁止測試DNS的連通性并且把squid在開始運行后的一些提示信息顯示在屏幕上) 注意事項:
1、Squid的配置文件squid.conf更改后必須重新運行squid
2、Squid服務器的hosts文件更改后必須重新運行squid
轉載于:https://blog.51cto.com/sookk8/234488
總結
以上是生活随笔為你收集整理的应用squid全面加速web(全)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员相比于黑客(Hacker),差距有
- 下一篇: 实作 ASP.NET 多笔数据离线编辑