nginx高可用实现方案
一般采用nginx+keepalived,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现Web服务器端的高可用;
Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA),VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或者多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或者多个),从而实现高可用;
keepalived虚拟化出192.168.100.100和192.168.100.101的虚拟化ip,这个系统是两台计算机上,有4个tomcat,2个Nginx,2个Keepalived实现负载均衡策略。
配置keepalived
Keepalived会根据virtual_router_id和authentication两个来确定集群关系。
#修改配置 vim /etc/keepalived/keepalived.conf #配置文件 ! Configuration File for keepalived global_defs { #从服务器最改一下这个 router_id node1 #表示运行keepalived服务器的一个标识。发邮件时显示在邮件主题的信息 } #监控服务.NGINX mysql等 vrrp_script chk_nginx { script "/usr/local/keepalived/check_nginx.sh" #每2s检查一次 interval 2 #每次检查-20 weight -20 } vrrp_instance VI_1 { ##主从设置 MASTER/BACKUP state MASTER #网卡名称 interface eth0 #同一个集群下这个 router_id是一样的 virtual_router_id 51 #本机的ip,需要修改 mcast_src_ip 192.168.100.10 #优先级,从节点 配置,需要小于主节点 priority 100 #设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 advert_int 1 #认证的密码 authentication { auth_type PASS #设定授权密码,密码相同的为一个集群 auth_pass yellowcong } #触发的脚本 track_script { chk_nginx #检测脚本,上面配置的 } #虚拟ip地址 virtual_ipaddress { 192.168.100.100 192.168.100.101 } }
更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!
以上是如何实现nginx高可用的详细内容。更多信息请关注PHP中文网其他相关文章!