java编程—如何搭建Keepalived+Nginx+Tomcat高可用负载均衡架构

chk_nginx

}

#虚拟ip配置,可配置多个

virtual_ipaddress {

192.168.10.200

}

}

5.4 Nginx状态检查脚本创建

(1)新建Nginx的状态检查脚本:check_nginx.sh

(2)内容如下:

#!/bin/sh

NGINX=/usr/common/nginx/sbin/nginx

PORT=80

nmap localhost -p $PORT | grep "$PORT/tcp open"

#echo $?

if [ $? -ne 0 ];then

$NGINX -s stop

#这里再次尝试启动NG

$NGINX

sleep 5

nmap localhost -p $PORT | grep "$PORT/tcp open"

[ $? -ne 0 ] && cd /usr/common/keepalived/sbin && pkill keepalived

echo "stoped"

fi

4 运行测试

  • (1)为了更直观的查看到keepalived切换的效果,将11服务器中的nginx的upstream服务只配置11的tomcat服务地址,12服务器中的upstream服务只配置12的tomcat服务地址,这样只需要观察将11服务器中的nginx关闭看使用虚拟ip是否可以访问到12服务器的tomcat。
  • (2)分别启动两个服务器中的tomcat、nginx、keepalived,访问虚拟ip:192.168.10.200,可以查看到访问的是主keepalived服务器的tomcat
java编程—如何搭建Keepalived+Nginx+Tomcat高可用负载均衡架构


  • image.png
  • (3)关闭11服务器的nginx,nginx -s stop,再次访问虚拟ip,如下:说明主keepalived通过配置的脚本检测到了本服务的nginx服务挂掉了,所以立马切换至了备的keepalived,这时12服务器的keepalived升为了主,所以就访问到了12服务器的tomcat。
java编程—如何搭建Keepalived+Nginx+Tomcat高可用负载均衡架构

java编程—如何搭建Keepalived+Nginx+Tomcat高可用负载均衡架构


分享到:


相關文章: