linux做nginx和keepalived的疑问

求教诸位大神,我最近在linux上做nginx和keepalived的代理服务器的内容,整个框架都搭好了,分别在两台linux虚拟机上面安装了nginx和keepalived,在第三台linux虚拟机上安装了tomcat,目前使用在客户端浏览器可以通过访问虚拟机1和2的80端口,访问到虚拟机3上的tomcat,但是访问虚拟机1上的keepalieved虚拟IP,就只能访问到nginx的欢迎界面,而访问不到虚拟机3上的tomcat, 虚拟机1是作为keepalieved的master节点,我已经把三台服务器的防火墙都关了,请问大家,是什么问题啊?谢谢了

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7688798
  • 你也可以参考下这篇文章:linux下配置nginx+keepalived高可用的各种问题以及解决办法
  • 除此之外, 这篇博客: 高可用,keepAlived+nginx在linux下离线安装(实测没毛病),所需要的依赖会发百度云连接中的 cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    如下是配置文件: # vi /etc/keepalived/keepalived.conf

    ! Configuration File for keepalived
    global_defs {
    router_id master
    }
    vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"
    interval 2
    weight -20
    }
    vrrp_instance VI_1 {
    state MASTER
    interface eno16777736 # ifconfig 查看 IP 对应的网卡 ,ip addr 也可以查看
    virtual_router_id 51
    mcast_src_ip 10.1.125.152 #localIP
    priority 100
    nopreempt
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 1111
    }
    track_script {
    chk_nginx
    }
    virtual_ipaddress {
    10.1.125.244#vip
    } }
    

    II.配置监控

    vi /etc/keepalived/nginx_check.sh
    #!/bin/bash
    A=`ps -C nginx –no-header |wc -l`
    if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
    killall keepalived
    fi
    fi
    

    给 keepalived 授权
    授权


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^