日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS5.8下varnish-2.1.5的安装配置

發(fā)布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS5.8下varnish-2.1.5的安装配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Varnish是一款強大的反向代理加速軟件,關于其工作原理可以參考上圖,其具體流程及VCL語法我這里就不做說明,網(wǎng)上資料多,大家還可以對照參考其官方網(wǎng)站和《Varnish中文權威指南》。

一、安裝CentOS5.8系統(tǒng)環(huán)境下的依耐關系

yum install gcc gcc-c++ yum install automake autoconflibtool ncurses-devel libxslt groff pcre-devel pkgconfig libtool -y

二、下載varnish-2.1.5源碼包,并進行編譯安裝。

cd /usr/local/src wget http://repo.varnish-cache.org/source/varnish-2.1.5.tar.gz tar zxvf varnish-2.1.5.tar.gz cd varnish-2.1.5. ./autogen.sh

#autogen.sh命令是用來檢查軟件的依耐關系是否滿足,如果報錯的話, 則應該如下

正常所示:

+ aclocal + libtoolize --copy --force + autoheader + automake --add-missing --copy --foreign + autoconf

繼續(xù)編譯安裝:

./configure --prefix=/usr/local/varnish --enable-dependency-tracking --enable-debugging-symbols --enable-developer-warnings -enable-extra-warnings make && make install && cd ../

三、創(chuàng)建varnish用戶和組,以及varnish緩存文件和日志存放目錄:

/usr/sbin/groupadd varnish /usr/sbin/useradd -s /sbin/nologin -g varnish varnish mkdir -p /data/varnish/{cache,log} chown -R varnish:varnish /data/varnish/{cache,log}

四、我的測試環(huán)境是兩臺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如下所示:

backend rserver1 { .host ="192.168.1.104"; .port = "80"; .probe = { .timeout = 5s; #等待多長時間超時 .interval = 2s; #檢查時間間隔 .window = 10; #varnish將維持10個sliding windows的結果 .threshold = 8; #如果是8次.windows檢查是成功的,就宣告后端的Web機器 是健康的 } } backend rserver2 { .host ="192.168.1.105"; .port = "80"; .probe = { .timeout = 5s; .interval = 2s; .window = 10; .threshold = 8; } } #指定一個名為realserver組,使用random機制,權重越大,分配的訪問越多,可根據(jù) 服務器性能來設定;而round-robin(輪詢)機制是不能指定weight的 director realserver random { { .backend = rserver1; .weight = 5; } { .backend = rserver2; .weight = 6; } } #定義能清理緩存的機器,這里只允許本機能用purge的方式清理 acl purge { "localhost"; "127.0.0.1"; } sub vcl_recv {if (req.http.host ~"^(.*).yuhongchun027.net"){ set req.backend =realserver; } else{ error 200 "Nocahce for this domain"; } if (req.request =="PURGE"){ if (!client.ip ~purge){ error 405"Not allowed."; } else{return (pipe); } } #獲取客戶端真實IP地址 if(req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For "," client.ip; } else { set req.http.X-Forwarded-For =client.ip; } #對HTTP協(xié)議中的GET、HEAD請求進行緩存,對POST請求透過,讓其直接訪問后端Web服 務器。之所以這樣配置,是因為POST請求一般是發(fā)送數(shù)據(jù)給服務器的,需要服務器接 收、處理,所以不緩存; if (req.request !="GET" && req.request != "HEAD") { return (pipe); } if (req.http.Expect) { return (pipe); } if (req.http.Authenticate|| req.http.Cookie) { return (pass); } if (req.http.Cache-Control~ "no-cache") { return (pass); } #對JSP或者PHP文件不緩存 if(req.url ~"\.jsp" || req.url ~ "\.php" ) { return (pass); } else { return (lookup); } }sub vcl_pipe { return (pipe); }sub vcl_pass { return (pass); }sub vcl_hash { set req.hash += req.url; if (req.http.host) { set req.hash +=req.http.host; } else { set req.hash +=server.ip; }return (hash); }sub vcl_hit { if (req.request =="PURGE") { set obj.ttl = 0s; error 200"Purged."; } if (!obj.cacheable) { return (pass); } return (deliver); }sub vcl_miss { if (req.request =="PURGE") { error 404 "Not incache."; } if (req.http.user-agent ~"spider") { error 503 "Notpresently in cache"; }return (fetch); } sub vcl_fetch { if (req.request =="GET" && req.url ~ "\.(txt|js)$") { set beresp.ttl = 3600s; } else { set beresp.ttl = 30d; } if (!beresp.cacheable) { return (pass); } if (beresp.http.Set-Cookie) { return (pass); } return (deliver); } sub vcl_deliver {if (obj.hits > 0) {set resp.http.X-Cache= "HIT FROM www.yuhongchun027.net";} else {set resp.http.X-Cache= "MISS FROM www.yuhongchun027.net";} return (deliver); }

五、啟動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命令,如下所示:

[root@localhost cache]# curl -I http://www.yuhongchun027.net/

以下結果顯示varnish緩存已經(jīng)起作用了:

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配置文件發(fā)生改動,想要不重啟而直接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字樣,則表示已經(jīng)正常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列表,可執(zhí)行如下命令:

/usr/local/varnish/bin/varnishadm –T 192.168.1.103:3500 purge.list

另外,緩存命中率的高低直接說明了varnish的運行狀態(tài)和效果,如果緩存率命中率過低,我們應該對varnish配置進行檢查調整來進行提高,查看其命中率命令如下所示:

/usr/local/varnish/bin/varnishstat -n /data/varnish/cache

、內核優(yōu)化如下所示:

編輯/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

執(zhí)行如下命令,讓改動配置立即生效:

/sbin/sysctl –p

注意:老生常談的ulimit的問題,這個話題說得太多了,這里實在不想再提了,記得將在/etc/rc.local添加如下內容:

ulimit –SHn 65535

注意:記得在啟動varnish之前將此命令手動執(zhí)行一遍(最方便的做法是放進經(jīng)常運行的監(jiān)控腳本或服務啟動腳本),另外,在工作中發(fā)現(xiàn),CentOS6.X x86_64下更改ulimit跟CentOS5.X x86_64是不同的,這點也請大家注意。以上即為varnish-2.1.5在CentOS5.8 x86_64下的安裝配置過程,記錄下作為工作筆記,方便以后在新機器上部署,年紀大了,起個備忘作用而矣。

總結

以上是生活随笔為你收集整理的CentOS5.8下varnish-2.1.5的安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 久久久久网站 | 久草中文在线 | 亚洲高清在线视频 | 一级特黄aa大片免费播放 | 欧美中字| 男女男网站 | 日本久久一区二区 | 第一色影院 | 国产精品一区二区无线 | 欧美中文字幕一区二区 | 亚洲综合在线观看视频 | 扒开女人屁股进去 | 中文字幕日韩久久 | 强迫凌虐淫辱の牝奴在线观看 | 日韩精品久久一区二区 | 欧美经典一区二区三区 | www.超碰97| 国产极品网站 | 99热99精品| 国产九色在线 | 日韩欧美精品在线视频 | 四虎看黄 | 亚洲精品1区 | 国产99对白在线播放 | 在线观看黄色片网站 | 国产精久 | 亚洲欧美综合一区二区 | 91激情视频在线观看 | 粉嫩av四季av绯色av | 粉嫩av蜜桃av蜜臀av | 爱情岛亚洲论坛入口福利 | 国产高清视频一区二区 | 色玖玖| 一区二区三区四区国产精品 | 九色porny原创自拍 | 日本一级片免费看 | 精品久久亚洲 | www.youjizz.com中国| 亚洲狼人色| 喷水av| 欧美色图自拍 | 久久免费在线观看视频 | 一级一毛片 | 亚洲黄片一区二区三区 | 成人福利在线观看 | 91网址入口 | 亚洲vs天堂| 国产美女主播在线观看 | 亚洲一区二区在线免费 | 欧美日韩久久久久久 | 天堂中文在线播放 | 国产精品午夜影院 | 国产精品视频h | 性色视频在线 | 伊人久久大香网 | 在线a视频 | 2020av视频| 琪琪伦伦影院理论片 | 精品美女久久久久 | 精品国产乱码久久久久久108 | 成人开心网 | 91丨国产丨白丝 | 无码人妻丰满熟妇区五十路百度 | 永久免费不卡在线观看黄网站 | 超碰777 | 91偷拍精品一区二区三区 | 大尺度做爰啪啪床戏 | jizz中国女人| 97在线观看视频 | 裸体美女免费视频网站 | av在线浏览 | 久久久久久国产精品一区 | 91嫩草欧美久久久九九九 | 欧美理论视频 | 精品一区二区三区免费看 | 国产一区色 | 欧美成人免费看 | 欧美日韩在线观看一区二区三区 | 宿舍女女闺蜜调教羞辱 | 99国产视频 | 国产中文在线视频 | 欧美日韩国产一区二区在线观看 | 欧美高清| 国产人伦精品一区二区三区 | 草民午夜理伦三级 | 性高潮视频在线观看 | 欧美第一精品 | 鬼灭之刃柱训练篇在线观看 | 黄色在线观看国产 | 干骚视频 | 国产精品美女久久久久久 | 99精品久久精品一区二区 | 亚洲视频在线免费观看 | 成人免费在线播放 | 国产又粗又猛又爽又 | 2019中文字幕在线免费观看 | 欧美毛片视频 | 在线三级av|