yum install -y \\\\
libtool \\\\
ncourses-devel \\\\
pcre-devel \\\\
libedit-devel \\\\
libxslt \\\\
groff \\\\
pkgconfig \\\\
ncurses-devel \\\\
python-*
rpm -ivh /root/libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm
rpm -ivh /root/python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm
tar xzvf varnish-5.2.1.tgz -C /opt
cd /opt/varnish-5.2.1
sh autogen.sh //檢查環(huán)境
echo $? //是0就沒(méi)問(wèn)題
./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
vi /usr/local/varnish/default.vcl //修改主機(jī)和端口號(hào)為第一臺(tái)業(yè)務(wù)服務(wù)器
backend default {
.host = "192.168.80.102"; //第一臺(tái)web服務(wù)器的ip地址
.port = "80";
}
varnishd -f /usr/local/varnish/default.vcl -a 0.0.0.0:80 //啟動(dòng)varnishd
netstat -anpt | grep varnishd //監(jiān)聽(tīng)在80端口上
service firewalld stop
setenforce 0
WEB服務(wù)器1配置:
yum install -y httpd
vi /var/www/html/index.html
<h2> server AA!!! </h2>
service httpd start
service firewalld stop
setenforce 0
驗(yàn)證測(cè)試:
真機(jī):http://192.168.80.101/ //訪問(wèn)varnishd服務(wù)器的地址,能夠訪問(wèn)到第一臺(tái)服務(wù)器內(nèi)容
varnishlog //實(shí)時(shí)滾動(dòng)日志,當(dāng)頁(yè)面刷新的時(shí)候日志會(huì)記錄
tail –f /var/log/httpd/access_log //在業(yè)務(wù)服務(wù)器端查看日志信息,可以看到訪問(wèn)的是代理端
地址
———————————配置多服務(wù)器負(fù)載—————————
Varnish服務(wù)器配置:
vi /usr/local/varnish/default.vcl
vcl 4.0;
import directors; //新增一行,導(dǎo)入一個(gè)directors
—–以下增加業(yè)務(wù)服務(wù)器節(jié)點(diǎn)—–
backend web1 {
.host = "192.168.80.102";
.port = "80";
}
backend web2 {
.host = "192.168.80.103";
.port = "80";
}
—–接著以上代碼接著定義調(diào)度算法及指定流量轉(zhuǎn)發(fā)—-
sub vcl_init {
new bar = directors.round_robin(); //random(隨機(jī)) round_robin dns
bar.add_backend(web1);
bar.add_backend(web2);
}
sub vcl_recv {
set req.backend_hint = bar.backend(); //流量轉(zhuǎn)發(fā)給所有結(jié)點(diǎn) 注意括號(hào)
}
varnishd -C -f /usr/local/varnish/default.vcl > /dev/null //檢查配置文件是否有錯(cuò)誤
pkill varnishd
varnishd -f /usr/local/varnish/default.vcl
netstat -anpt | grep varnishd
WEB服務(wù)器2配置:
yum install -y httpd
vi /var/www/html/index.html
<h2> server BB!!! </h2>
service httpd start
service firewalld stop
setenforce 0
驗(yàn)證:
http://192.168.80.101/ //刷新測(cè)試就可以了看到輪詢(xún)的效果了
停止一臺(tái)服務(wù)器WEB1,調(diào)度器并不感知。
以下配置健康檢查—-在每臺(tái)業(yè)務(wù)服務(wù)器配置下接著新增
web1配置
backend web1 {
.host = "192.168.80.102";
.port = "80"; //下面新增
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3; //3次檢查沒(méi)有問(wèn)題才認(rèn)為健康
}
}
—web2配置相同—-
backend web2 {
.host = "192.168.80.103";
.port = "80";
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3;
}
}
varnishd -C -f /usr/local/varnish/default.vcl > /dev/null
pkill varnishd
varnishd -f /usr/local/varnish/default.vcl
netstat -anpt | grep varnishd
瀏覽器測(cè)試,并關(guān)閉一臺(tái)業(yè)務(wù)服務(wù)器2再測(cè)試。注意客戶(hù)端瀏覽器緩存問(wèn)題。不會(huì)再跳轉(zhuǎn)關(guān)閉服務(wù)器內(nèi)容了。
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):m.ps-sw.cn