为了解决nginx服务器挂了,整个服务器集群就会挂的问题,需要使nginx高可用:keepalived 至少两台服务器,一台作为主集群服务器,一台配用,当主服务器当机时,从服务器可用。 从服务器的功能;:监听主服务器是否当机,后端服务器是否可用至少两台服务器需要安装和配置
yum
install keepalived 1、 地址:/etc/keepalived/keepalived.conf 2、 帮助手册:man keepalived.conf 3、 编辑之前,需要备份:cp –a keepalived.conf backup. keepalived.conf 4、 编辑: ! Configuration File for keepalived
global_defs { notification_email { root@localhost#发送提醒邮件的目标地址可有多个 goldbin@126.com } notification_email_from test@localhost#发送邮件的from地址,可以随意写,邮件地址不存在都无所谓 smtp_server 127.0.0.1#邮件服务的地址,一般写本地 smtp_connect_timeout 30 router_id LVS_DEVEL }
vrrp_instance VI_1 { state BACKUP# MASTER 主 和 从 interface eth0#VIP需要绑定的网卡名称 virtual_router_id 51 priority 101#优先级 主的优先级要高 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.200/24 dev eth0 label eth0:0 #设置VIP,根据实际服务器的网卡名可能是eth1 } }
virtual_server 192.168.1.200 80 {#设置虚拟lvs服务,VIP PORT delay_loop 6 lb_algo rr#调度算法wrr lb_kind DR#lvs的模式 nat_mask 255.255.255.0 persistence_timeout 50 同一个IP地址在50秒内lvs转发给同一个后端服务器 protocol TCP
real_server 192.168.1.139 80 {#设置真实服务器的心跳机制 RID PORT weight 1#权重 HTTP_GET {#心跳检测的方式 url { path /#心跳检查的地址 status_code 200#心跳检查返回的状态 } connect_timeout 2 #超时时间 nb_get_retry 3#重复检查3次 delay_before_retry 1#每隔1秒钟再次检查 } } real_server 192.168.1.134 80 {#第二个真实服务器设置 weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 2 nb_get_retry 3 delay_before_retry 1 } } } 后端服务器的配置:执行脚本文件 & 开启tomcat或apach等 #!/bin/bash #description : start realserver VIP=192.168.198.200 case "$1" in start) echo " start LVS of REALServer" echo "1" >/proc/sys/net/ipv4/conf/eth0/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/eth0/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up route add -host $VIP dev lo:0 ;; stop) ifconfig lo:0 down echo "close LVS Directorserver" echo "0" >/proc/sys/net/ipv4/conf/eth0/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/eth0/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 |
|
来自: 昵称23016082 > 《nginx》