CentOS5.8下varnish-2.1.5的安装配置
Varnish是一款強大的反向代理加速軟件,關于其工作原理可以參考上圖,其具體流程及VCL語法我這里就不做說明,網上資料多,大家還可以對照參考其官方網站和《Varnish中文權威指南》。
一、安裝CentOS5.8系統環境下的依耐關系
二、下載varnish-2.1.5源碼包,并進行編譯安裝。
#autogen.sh命令是用來檢查軟件的依耐關系是否滿足,如果報錯的話, 則應該如下
正常所示:
繼續編譯安裝:
三、創建varnish用戶和組,以及varnish緩存文件和日志存放目錄:
四、我的測試環境是兩臺Web機器,IP為192.168.1.103(域名為http://www.yuhongchun027.net)的varnish機器對后端IP為192.168.1.104和192.168.1.105的機器進行反向代理加速,其配置文件/usr/local/varnish/etc/varnish/better.vcl如下所示:
五、啟動varnish的命令很長,如下所示:
/usr/local/varnish/sbin/varnishd -n /data/varnish/cache -f /usr/local/varnish/etc/varnish/better.vcl -a 0.0.0.0:80 -s file,/data/varnish/varnish_cache.data,8G -p user=varnish -p group=varnish -p default_ttl=14400 -p thread_pool_max=8000 -p send_timeout=20 -w 5,51200,30 -T 127.0.0.1:3500 -P /usr/local/varnish/var/varnish.pid
驗證其是否生效可以用curl –I命令,如下所示:
以下結果顯示varnish緩存已經起作用了:
HTTP/1.1 200 OK Server: Apache/2.2.3 (CentOS) Last-Modified: Wed, 28 Aug 2013 16:27:33 GMT ETag: "10d242-e-776b6740" Content-Type: text/html; charset=UTF-8 Content-Length: 14 Date: Wed, 21 Aug 2013 17:47:48 GMT X-Varnish: 1584727079 1584726982 Age: 10101 Via: 1.1 varnish Connection: keep-alive X-Cache: HIT FROM www.yuhongchun027.net六、如果vcl配置文件發生改動,想要不重啟而直接reload,可以用如下操作,可以在本機上進行telnet操作,連接3500管理端口:
telnet 127.0.0.1 3500 vcl.load newconfig /usr/local/varnish/etc/varnish/better.vcl 200 13 VCL compiled. vcl.use newconfig 200 0如果顯示有200字樣,則表示已經正常reload了,newconfig這個名字是自己定義的,熟悉varnish操作的朋友應該也清楚,通過telnet連接本機還可以進行清理緩存。
七、用varnishadm命令來清理緩存,例子如下所示:
清除所有緩存
/usr/local/varnish/bin/varnishadm -T 192.168.1.103:3500 url.purge *$清除image目錄下所有緩存
/usr/local/varnish/bin/varnishadm -T 192.168.1.103:3500 url.purge /image/查看最近清除的詳細url列表,可執行如下命令:
/usr/local/varnish/bin/varnishadm –T 192.168.1.103:3500 purge.list另外,緩存命中率的高低直接說明了varnish的運行狀態和效果,如果緩存率命中率過低,我們應該對varnish配置進行檢查調整來進行提高,查看其命中率命令如下所示:
/usr/local/varnish/bin/varnishstat -n /data/varnish/cache八、內核優化如下所示:
編輯/etc/sysctl.conf,添加如下選項:
net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800執行如下命令,讓改動配置立即生效:
注意:老生常談的ulimit的問題,這個話題說得太多了,這里實在不想再提了,記得將在/etc/rc.local添加如下內容:
ulimit –SHn 65535注意:記得在啟動varnish之前將此命令手動執行一遍(最方便的做法是放進經常運行的監控腳本或服務啟動腳本),另外,在工作中發現,CentOS6.X x86_64下更改ulimit跟CentOS5.X x86_64是不同的,這點也請大家注意。以上即為varnish-2.1.5在CentOS5.8 x86_64下的安裝配置過程,記錄下作為工作筆記,方便以后在新機器上部署,年紀大了,起個備忘作用而矣。
總結
以上是生活随笔為你收集整理的CentOS5.8下varnish-2.1.5的安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET中判断国内IP和国外IP
- 下一篇: hdu 1233 还是畅通工程 Kr