centos6中三台物理机配置nginx+keepalived+lvs
以下只是簡單的安裝配置,并沒有測試這套負載,各種參數大家可以自己測試
vip:10.0.50.170
lvs server:10.0.50.183
real server:10.0.50.184/185
183/184/185同步時間,并且安裝nginx
# ntpdate time.nist.gov
# yum install nginx
# /etc/init.d/nginx start
在184/185上編寫測試頁面/usr/share/nginx/html/index.html
183上安裝ipvsadm*和keepalived
# yum install keepalived ipvsadm*
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
? ?notification_email {
? ? ?acassen@firewall.loc
? ? ?failover@firewall.loc
? ? ?sysadmin@firewall.loc
? ?}
? ?notification_email_from Alexandre.Cassen@firewall.loc
? ?smtp_server 127.0.0.1
? ?smtp_connect_timeout 30
? ?router_id LVS_DEVEL
}
vrrp_instance VI_1 {
? ? state MASTER
? ? interface em1
? ? virtual_router_id 51
? ? priority 100
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
? ? ? ? 10.0.50.170
? ? }
}
virtual_server 10.0.50.170 80 {
? ? delay_loop 6
? ? lb_algo rr
? ? lb_kind DR
? ? nat_mask 255.255.255.0
? ? persistence_timeout 50
? ? protocol TCP
? ? real_server 10.0.50.184 80 {
? ? ? ? weight 1
? ? ? ? TCP_CHECK {
? ? ? ? ? ? connect_timeout 3
? ? ? ? ? ? nb_get_retry 3
? ? ? ? ? ? delay_before_retry 3
? ? ? ? }
? ? }
? ? real_server 10.0.50.185 80 {
? ? ? ? weight 1
? ? ? ? TCP_CHECK {
? ? ? ? ? ? connect_timeout 3
? ? ? ? ? ? nb_get_retry 3
? ? ? ? ? ? delay_before_retry 3
? ? ? ? }
? ? }
}
# /etc/init.d/keepalived start
# chkconfig keepalived on
# cd /etc/init.d/
# vi lvs
#!/bin/sh
# description: Start LVS of Director server
WEB_VIP=10.0.50.170
WEB_RIP1=10.0.50.184
WEB_RIP2=10.0.50.185
SET_VIP () {
/sbin/ifconfig em1:0 $WEB_VIP netmask 255.255.255.0 broadcast $WEB_VIP up
/sbin/route add -host $WEB_VIP dev em1:0
/sbin/ipvsadm -A -t $WEB_VIP:80 -s wrr -p 3
/sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP1:80 -g -w 1
/sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP2:80 -g -w 1
}
case "$1" in
?start)
? /sbin/ipvsadm -C
? SET_VIP
? touch /var/lock/ipvsadm >/dev/null 2>&1
? echo "ipvsadm start"
;;
?stop)
?/sbin/ipvsadm -C
?/sbin/ipvsadm -Z
?/sbin/ifconfig em1:0 down
?route del $WEB_VIP > /dev/null 2>&1
? rm -fr /var/lock/ipvsadm >/dev/null 2>&1
?echo "ipvsadm stoped"
;;
?status)
?if [ ! -e /var/lock/ipvsadm ];then
? ? ?echo "ipvsadm is stoped "
? ?exit 1
else
? /sbin/ipvsadm -ln
? ? echo "ipvsadm is ok"
fi
;;
?restart)
?/sbin/ipvsadm -C
?/sbin/ipvsadm -Z
?/sbin/ifconfig em1:0 down
? route del $WEB_VIP > /dev/null 2>&1
? rm -fr /var/lock/ipvsadm >/dev/null 2>&1
?SET_VIP
? touch /var/lock/ipvsadm >/dev/null 2>&1
? echo "ipvsadm ?restart .."
;;
*)
?echo "Usage :$0 {start|stop|status}"
? ?exit 1
esac
?exit 0
# /etc/init.d/lvs start
184/185機器都執行lvsrs腳本
# vi lvsrs
#!/bin/bash
#!/bin/bash
#description : start Real Server
VIP=10.0.50.170
./etc/rc.d/init.d/functions
case "$1" in
? ? ? ? start)
? ? ? ? echo " Start LVS of Real Server "
? ? ? ? /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
? ? ? ? /sbin/route add -host $VIP dev lo:0
? ? ? ? #注釋:這四句目的是為了關閉ARP廣播響應,使VIP不能向網絡內發送廣播,以防止網絡出現混亂
? ? ? ? echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
? ? ? ? echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
? ? ? ? echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
? ? ? ? echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
? ? ? ? ;;
? ? ? ? stop)
? ? ? ? /sbin/ifconfig lo:0 down
? ? ? ? echo "close LVS Director server"
? ? ? ? echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
? ? ? ? echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
? ? ? ? echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
? ? ? ? echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
? ? ? ? ;;
? ? ? ? *)
? ? ? ? echo "Usage: $0 {start|stop}"
? ? ? ? exit 1
esac
# /etc/init.d/lvsrs start
參考http://blog.sina.com.cn/s/blog_6e834de50100pnfr.html
1.我同事曾經問過兩臺物理機的實現:
例如以上183/184上同時安裝并啟動nginx\keepalived\lvs腳本\lvsrs腳本
2.關于以下兩個區別:
/sbin/ipvsadm -A -t $WEB_VIP:80 -s wrr -p 3
或者/sbin/ipvsadm -A -t $WEB_VIP:80 -s rr
轉載于:https://blog.51cto.com/guowang327/1669873
總結
以上是生活随笔為你收集整理的centos6中三台物理机配置nginx+keepalived+lvs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Datagridview拖放数据到Tre
- 下一篇: 看美文,记单词(6)