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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

安装varish作为缓存和代理

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安装varish作为缓存和代理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,Varish的使用有兩種模式:
第1種? Nginx(負載)+varish(緩存)+WEB
第2種??Varish(緩存和負載)+web
?
2,varish是以內存作為共享容器的:
內存的大小決定了它的緩存容量。相對于主要以硬盤為存儲的squid來說要高效的多。它適合一些經常查詢且變化不大的靜態內容緩存。
????
???? Nginx? 圖片和靜態文本給 varish 后端是WEB的8080端口
??????????? 動態內容給后端WEB? 后端是WEB的8080端口
???? 這個架構要看服務器和存儲內容,如果nginx不用做反向代理以支持后臺諸多應用的話,那么單就nginx來說,利用proxy_cache模塊也可以支持本地緩存。它緩存在硬盤上,性能和squid相差不大,但是穩定性和易用性要好的多。
?
3,安裝varish:
??? 1)創建用戶和組,賦予權限 # groupadd www
# useradd -g www www
# mkdir -p /var/vcache
# chown -R www:www /var/vcache
???
?2)創建varnish日志目錄并授權 # mkdir -p /var/log/varnish
# chmod +w /var/log/varnish
# chown -R www:www /var/log/varnish
???
?3)編譯安裝varnish
# tar zxvf varnish-1.1.2.tar.gz
# cd varnish-1.1.2
# ./configure --prefix=/usr/local/varnish
# make && make install
???
?4)創建并修改配置文件vi /usr/local/varnish/vcl/conf
?
backend default {?????????????????????????? #通過反向代理請求后端IP為192.168.0.5,80端口的WEB服務器,可以是本機,也可以是后臺????????????????? .host = "192.168.0.151";
????????????????? .port = "81";
}
?
acl purge {????????????????????????????????????? #允許這三個來源的IP通過PURGE方法清除緩存?????? "localhost";
?????? "127.0.0.1";
?????? "192.168.1.0"/24;
}
?
sub vcl_recv {
?????? if (req.request == "PURGE") {
?????????????? if (!client.ip ~ purge) {
?????????????????????? error 405 "Not allowed.";??? #405錯誤顯示?????????????? }
????????????? return(lookup);
?????? }
?
?????? if (req.http.host ~ "^blog.s135.com") {
?????????????? set req.backend = default;
?????????????? if (req.request != "GET" && req.request != "HEAD") {
??????????????? return(pipe);
?????????????? }
?????????????? else {
??????????????? return (lookup);
?????????????? }
?????? }
?????? else {
?????????????? error 404 "Not in cache"; #404錯誤顯示?????????????? return(lookup);
?????? }
}
?
sub vcl_hit {
?????? if (req.request == "PURGE") {
?????????????? set obj.ttl = 0s;
?????????????? error 200 "Purged.";
?????? }
}
?
sub vcl_miss {
?????? if (req.request == "PURGE") {
?????????????? error 404 "Not in cache.";
?????? }
}
?
sub vcl_fetch {????????????????????????????????????????????
?????? if (req.request == "GET" && req.url ~ "/.(txt|js)$") {
????????????? set obj.ttl = 3600s;???????????????????????? #對于txt和js緩存一個小時?????? }
?????? else {
?????????????? set obj.ttl = 30d;???????????????????? #其余的緩存一天?????? }
}
Varnish對HTTP協議中的GET、HEAD請求進行緩存,對POST請求透過,讓其直接訪問后端Web服務器。之所以這樣配置,是因為POST請求一般是發送數據給服務器的,需要服務器接收、處理,所以不緩存;
?? 5)啟動ulimit -SHn 51200?
/usr/local/varnish/sbin/varnishd -a :80 -b 192.168.0.151:81 -p thread_pool_max=1500 -p thread_pools=5 -p listen_depth=512? -w 1,10000,120
6)將訪問日志寫入訪問文件/usr/local/varnish/bin/varnishncsa -n /var/vcache -w /var/log/varnish/varnish.log &
?
7)查看狀態 8)測試 我們用varish監聽80端口,同時將數據來源轉向到監聽81端口的Apache
訪問主頁

總結

以上是生活随笔為你收集整理的安装varish作为缓存和代理的全部內容,希望文章能夠幫你解決所遇到的問題。

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