1.環境說明nginx
三臺服務器,一臺叫dir,兩臺叫rs1和rs2 (director 和 real server)算法
dir外網ip:192.168.192.129 內網ip:192.168.1.114vim
rs1內網ip:192.168.1.116 bash
rs2內網ip:192.168.1.115服務器
2.安裝和配置curl
dirurl
yum install -y ipvsadm
rs1 rs2spa
wget www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm rpm -ivh epel-release-6-8_64.noarch.rpm
yum install -y nginx
dir.net
vim /usr/local/sbin/lvs_nat.sh
#! /bin/bash
# director 服務器上開啓路由轉發功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 關閉 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director 設置 nat 防火牆
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
# director 設置 ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.192.129:80 -s rr
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.116:80 -m
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.115:80 -mcode
$IPVSADM -A -t 192.168.192.129:80 -s rr //-A-t 增長director -s算法 $IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.116:80 -m //-a-t增長real_server -r real_server -m MASQUERADE 用nat必須用-m -w 1 權重
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE // 規則 -t針對nat表 -A POSTROUTING鏈 -s從192.168.1這個網段來的包 -j MASQUERADE假裝
sh /usr/local/sbin/lvs_nat.sh
ipvsadm -ln
rs1,rs2
vi /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=192.168.11.164
ifdown eth0; ifup eth0
啓動rs1的nginx
/etc/init.d/nginx start
rs2默認啓動
訪問外網ip,第一次請求到了rs2,刷新變成rs1
(一次1 一次2)
curl 192.168.192.129
$IPVSADM -A -t 192.168.192.129:80 -s wrr $IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.116:80 -m -w 2 $IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.115:80 -m -w 1
兩次1 一次2