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中文網其他相關文章!