應用場景:
web通路加速(适用于正/反向解析)
正向:IP僞裝、“×××”
反向:代替公網使用者通路web伺服器
緩存區:硬碟
軟體包:squid-3.3.8-26.e17.x86_64.rpm
系統服務:squid
主程式:/usr/sbin/squid
主比對檔案:/etc/squid/squid.conf
預設監聽端口:TCP 3128
預設通路日志:/var/log/squid/access.log
例:反向代理
步驟一:建構web伺服器
1)使用yum安裝web軟體包
yum -y install httpd
2)啟用httpd服務,并設為開機自動運作
systemctl start httpd
systemctl enable httpd
httpd服務預設通過TCP 80端口監聽用戶端請求:
netstat -anptu | grep httpd
3)為Web通路建立測試檔案
在網站根目錄/var/www/html下建立一個名為index.html的首頁文
echo webabc > /var/www/html/index.html
步驟二:部署Squid代理伺服器
1)使用yum安裝squid軟體包:
yum -y install squid
2)修改/etc/squid/squid.conf配置檔案:
vim /etc/squid/squid.conf
http_port 80 vhost 設定反向代理,将代理監聽的端口修改為80
visible_hostname www.sina.com 設定主機名,預設沒有該語句
cache_peer 192.168.2.100 parent 80 0 originserver 定義後端真實伺服器資訊
cache_dir ufs /var/spool/squid 200 16 256 硬碟緩存,緩存容量為200M,自動建立16個一級子目錄和256個二級子目錄
http_access allow all 允許本機所有主機使用代理伺服器
3)啟動squid服務,并設定為開機啟動:
systemctl start squid
systemctl enable squid
4)squid服務通過TCP 80端口監聽用戶端請求:
netstat -anptu | grep 80
步驟三:用戶端測試
2)用戶端開啟浏覽器通路
适用:隻做方向代理
專業加速通路web服務
緩存區:硬碟和記憶體
預設監聽端口:TCP 80
配置檔案:/etc/varnish
/etc/init.d/varnish 啟動程式
/etc/sysconfig/varnish 配置檔案,varnish定義自身屬性
/etc/varnish/default.vcl 預設配置檔案,定義後端節點
/usr/bin/varnishadm 用戶端程式
/usr/bin/varnishstat 狀态監控
緩存管理
清除緩存内容的指令格式:
varnishadm -T IP:port -S securefile
ban.url 頁面檔案名
檢視緩存清理清單:
varnishadm ban.list
varnish日志
varnishlog [-w file] 共享記憶體的日志
varnishncsa [-w file] 通路日志
varnish狀态分析
varnishstat
-Client connections accepted:
表示用戶端成功發送連接配接總數量
-Client requests received:
表示用戶端發送HTTP請求的總數
-Cache hits:
表示命中緩存的次數
-Cache misses
表示緩存非命中的個數
例:
Web伺服器192.168.2.100、Varnish代理伺服器192.168.4.5,192.168.2.5
步驟一:建構Web伺服器
在網站根目錄/var/www/html下建立一個名為index.html的首頁檔案
echo webbca /var/www/html/index.html
步驟二:源碼安裝Varnish
1)編譯安裝軟體
yum -y install gcc readline-devel pcre-devel //安裝軟體依賴
useradd -s /sbin/nologin varnish //建立賬戶
tar -xzf varnish-3.0.6.tar.gz
cd varnish-3.0.6
./configure --prefix=/usr/local/varnish
make && make install
2)複制啟動腳本及配置檔案
cp redhat/varnish.initrc /etc/init.d/varnish
cp redhat/varnish.sysconfig /etc/sysconfig/varnish
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/ (建立快捷方式)
ln -s /usr/local/varnish/bin/* /usr/bin/
3)修改Varnish檔案
vim /etc/sysconfig/varnish (前端配置,連接配接用戶端)
VARNISH_LISTEN_PORT=80 預設端口
VARNISH_STORAGE_SIZE=64M 定義緩存大小
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" (基于記憶體方式緩存,malloc基于記憶體,file基于硬碟)
4)修改代理配置檔案
mkdir /etc/varnish
cp /usr/local/varnish/etc/varnish/default.vcl /etc/varnish/
uuidgen > /etc/varnish/secret (密碼檔案)
vim /etc/varnish/default.vcl(後端配置,連接配接web伺服器)
backend default {
.host = "192.168.2.100";
.port = "80";
}
起服務:systemctl restart varnish
1)用戶端開啟浏覽器通路
步驟四:其他操作
1)檢視varnish日志
varnishlog //varnish日志
varnishncsa //通路日志
2)更新緩存資料,在背景web伺服器更新頁面内容後,
使用者通路代理伺服器看到的還是之前的資料,
說明緩存中的資料過期了需要更新(預設也會自動更新,但非實時更新)。
varnishadm –S /etc/varnish/secret –T 127.0.0.1:6082
ban.url 頁面檔案名(清緩存)
清空緩存資料,支援正規表達式
本文轉自夜流璃雨 51CTO部落格,原文連結:http://blog.51cto.com/13399294/2057996,如需轉載請自行聯系原作者