溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Varnish安裝

發布時間:2020-05-16 21:41:20 來源:網絡 閱讀:502 作者:無雙戰績 欄目:云計算

varnish安裝

systemctl stop firewalld       //關閉防火墻
setenforce 0            //關閉監控
yum install lrz* -y          //安裝上傳軟件
把 libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm
python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm
varnish-5.2.1.tgz軟解包和依賴包拉入

Varnish安裝

yum install -y gcc gcc-c++ make  //安裝編譯器和環境
安裝依賴關系包和所需要的插件:
yum install -y \
libtool \
ncourses-devel \
pcre-devel \
libedit-devel \
libxslt \
groff \
pkgconfig \
ncurses-devel \
python-*
rpm -ivh libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm
rpm -ivh python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm
tar  xf  varnish-5.2.1.tgz   -C  /opt              //解壓軟解包和依賴包

Varnish安裝

cd /opt/varnish-5.2.1/    //進入解壓后的文件夾中定義需要的模塊
sh autogen.sh   //檢查系統環境

Varnish安裝

./configure \
--prefix=/usr/local/varnish \
--enable-debugging-symbols \
--enable-developer-warnings
make && make install
cd /usr/local/varnish/
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/            //軟鏈接
ln -s /usr/local/varnish/bin/* /usr/local/bin/                   //軟鏈接
cp /usr/local/varnish/share/doc/varnish/example.vcl /usr/local/varnish/default.vcl
//配置文件模板拷貝出來用

Varnish安裝

vi /usr/local/varnish/default.vcl
修改以下內容:
backend  default  {
        .host = "192.168.80.101"
        .port = "80"
}

Varnish安裝

varnishd -f /usr/local/varnish/default.vcl -a 0.0.0.0:80    //指定監聽的ip和端口啟動varnish  

Varnish安裝

netstat -anpt | grep varnishd

Varnish安裝

在另一臺linux虛擬機上搭建一個web服務器(80.101):

systemctl stop firewalld       //關閉防火墻
setenforce 0            //關閉監控
yum install -y httpd             //安裝http
vi /etc/httpd/conf/httpd.conf
把ServerName www.example.com:80 前面的#刪除

Varnish安裝

vi /var/www/html/ index.html
<h2>server 1</h2>

systemctl start httpd
測試,在windows瀏覽器中輸入http://192.168.80.100(varnish服務器的ip地址)

Varnish安裝

Varnishlog   #查看日志,實時滾動方式

————————————以上單臺web后端服務器————————————————

多臺web后端服務器:
vi  /usr/local/varnish/default.vcl
找到以下內容并修改:
vcl 4.0;
import directors;  //新增一行,導入一個directors

-----以下增加業務服務器節點-----
backend web1 {   #把default修改為web1,就是后面的web服務器,有幾個web節點就復制幾個backend域
    .host = "192.168.80.101";   #后端web服務器的地址
    .port = "80";   #web服務器端口
}
backend web2 {
    .host = "192.168.80.102";
    .port = "80";
}

-----接著以上代碼接著定義調度算法及指定流量轉發----
sub vcl_init {     #在init子函數中定義
        new bar = directors.round_robin(); //random(隨機) round_robin dns
#定義服務器組,讓新的 bar 等于之前定義的變量directors,后面接輪詢(rr)算法
        bar.add_backend(web1);   #注意這里有幾個backend就添加幾個
        bar.add_backend(web2);
}
sub vcl_recv {
        set req.backend_hint = bar.backend(); //流量轉發給所有結點 注意括號
}

Varnish安裝

varnishd -C -f /usr/local/varnish/default.vcl > /dev/null             //檢查配置文件是否有錯誤

Varnish安裝

pkill -9 varnish
varnishd -f /usr/local/varnish/default.vcl

Varnish安裝

netstat -anpt | grep varnishd

Varnish安裝

在另一臺linux虛擬機上搭建一個web服務器(80.102):

systemctl stop firewalld       //關閉防火墻
setenforce 0            //關閉監控
yum install -y httpd             //安裝http
vi /etc/httpd/conf/httpd.conf
把ServerName www.example.com:80 前面的#刪除
vi /var/www/html/index.html
<h2>server 2</h2>

systemctl start httpd
在瀏覽器中輸入192.168.80.100

Varnish安裝

由于varnish緩存的原因,當我們訪問varnish的時候,并沒有像我們預期的那樣根據rr算法各自訪問后面兩臺web服務器的不同頁面,這時我們讓一臺web服務器網絡中斷,這時varnish就會訪問到另一臺了。
后端主機健康檢測機制:
varnish可以對后端主機進行健康檢測,動態進行移除或恢復后端主機調度列表

probe healthche { 定義健康檢測方法,自定義名稱
.url="/index.html"; #檢測時請求的URL,默認為"/"
.timeout = 2s; #超時時間
.window = 6 ; #基于最近的多少次檢測來判斷其健康狀態
.threshold = 5; #最近.window中定義的這么次檢查中至有.threshhold定義的次數是成功的;
.interval = 2s; #檢測頻度;
}

在定義后端服務器時引用檢測方法
backend web1 {
.host = "192.168.80.100";
.port = "80";
.probe = healthche;        #引用檢測方式
}

在varniadm 命令接口中查看檢測狀況,健康狀態檢測backend.list
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女