實驗環境:RHEL5.8
Varnish服務器: 外網IP:172.16.0.103 內網IP:192.168.88.22
Http服務器: IP 192.168.88.128
相關軟件包筆者已上傳至網盤:
varnish-3.0.2-1.el5.i386.rpm、varnish-libs-3.0.2-1.el5.i386.rpm和jemalloc-2.1.3-2.el5.i386.rpm
http://pan.baidu.com/share/link?shareid=139543&uk=1678158691
一、 在Varnish服務器上安裝並簡單配置,需要注意的是,其依賴gcc
# yum --nogpgcheck localinstall varnish-3.0.2-1.el5.i386.rpm varnish-libs-3.0.2-1.el5.i386.rpm jemalloc-2.1.3-2.el5.i386.rpm # vim /etc/sysconfig/varnish VARNISH_LISTEN_PORT=80 #修改其工作監聽端口為80 VARNISH_STORAGE="malloc,128M" #指定其工作於內存,申請內存128M,請確認您的系統有足夠的內存可用。 # service varnish start
二、 定義代理地址及簡單
的相關策略,varnish的配置需要使用VCL語言配置,若需深入理解,則可參考官網文檔,手冊地址如下:
https://www.varnish-cache.org/docs/3.0/reference/vcl.html#varnish-configuration-language
# vim /etc/varnish/default.vcl backend default { #定義其代理的服務器IP和端口 .host = "192.168.88.128"; .port = "80"; } sub vcl_recv { #定義請求中出現的test.html的請求,都直接扔給後端服務器 if (req.url ~ "test\.html$") { return(pass); } } sub vcl_fetch { #定義GET方法的請求的html頁面,緩存10秒 if (req.request == "GET" && req.url ~ "\.html$") { set beresp.ttl = 10s; } } sub vcl_deliver { #定義測試信息,如果命中則提示Hit Via hostname反之則Miss from if (obj.hits > 0){ set resp.http.X-Cache = "Hit Via" + " " + server.hostname; } else { set resp.http.X-Cache = "Miss from" + " " + server.hostname; } } # varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 #進入varnish的命令行管理界面 vcl.load default default.vcl #載入上面定義的內容 vcl.use default #使用上面載入的內容 vcl.show default #使用shift+上下箭頭,查看剛才載入是否成功
三、 配置後端WEB服務器192.168.88.128
# yum install httpd –y
# echo ’<h1>Master Page.</h1>’ > /var/www/html/index.html
# echo ‘<h1>Master Test Page.</h1>’ > /var/www/html/test.html
# echo ‘<h1>Master Demo Page.</h1>’ > /var/www/html/demo.html
#service httpd restart
 
四、 簡單測試其效果。
1、 在varnish上訪問外網IP 172.16.0.103,看其是否正常
#使用curl -I 172.16.0.103/index.html訪問首頁後端192.168.88.128的首頁,內容如下:
#使用curl -I 172.16.0.103/test.html訪問首頁後端192.168.88.128的首頁,內容如下:
2、 使用comodo浏覽的開發者工具(ctrl+shift+i)-->Network也看查看相關內容
本文出自 “自強不息” 博客,請務必保留此出處http://mos1989.blog.51cto.com/4226977/1079611