zoukankan      html  css  js  c++  java
  • keepalived+nginx实现高可用+tomcat

    1、keepalived的yum安装

    安装依赖包
    [root@localhost ~]# yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel
    [root@localhost ~]# yum install -y keepalived

    2、nginx安装(省略)

    3、tomcat部署(省略)

    4、nginx配置文件:每个nginx的配置都是一样的。

    5:主keepalived的配置

    6:备keepalived的配置

    编写 Nginx 心跳检测脚本 /etc/keepalived/nginx_check.sh (已在 keepalived.conf 中配置)脚本要求:如果 nginx 停止运行,尝试启动,如果无法启动则杀死本机的 keepalived 进程, keepalied将虚拟 ip 绑定到 BACKUP 机器上。 内容如下:

    # 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


    保存后,给脚本赋执行权限:
    # chmod +x /etc/keepalived/nginx_check.sh(赋完权后sh文件会变绿色)

    7、要使nopreempt生效,需要做如下操作

    inux下设置允许keepalived组播(主备都要执行如下命令)

    centos防火墙默认是不允许keepalived使用 vrrp的组播,如果不开启组播ip,keepalived双机不能实现热备的效果,只能实现负载的效果,即虚拟ip不能实现漂移。

    热备:当主keepalived挂掉时,虚拟Ip会漂移到备用的keepalived上。当主的keepalived启用是,虚拟ip再次回到主的keepalived上。

    防火墙开启keepalived使用组播ip执行一下命令:

    centos7使用一下命令:

    firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface eno16777736 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

    firewall-cmd --reload

    红色标记eno16777736是指的服务器的网卡名称,INPUT代表接收224.0.0.18的报文,使用 ip a 命令查看.

    8、访问vip(虚拟ip)

    注意:我的nginx访问为www.njm1.com

    比如我的vip为192.168.177.200。nginx的ip为192.168.177.136。

    通过nginx访问我的tomcat:192.168.177.136/njm1/test1/index_html(访问不到),因为我绑定了域名:www.njm1.com/njm1/test1/index_html(这样就可以访问)

    记得在你的windows配置域名解析:

    通过vip访问我的tomcat:

     因为nginx绑定了域名www.njm1.com。所以如果我们要通过vip访问,就要将此域名解析到vip这个ip地址(192.168.177.200)

    9、通过如上设置,就可以让vip在nginx之间漂移了~~~可以测试:例如同时开启主备keepalived,访问www.njm1.com。访问到的肯定是主keep。然后stop主keep,停掉后,vip就会飘去备keep~~。再访问www.njm1.com。就是备keep了。

    当我们再启动主keep,因为配置了nopreempt属性。备keep会让vip飘回主keep~~

  • 相关阅读:
    设置VS&IE8控件调试
    VR模型优化技巧
    MFC的资源切换AFX_MANAGE_STATE (转载)
    3D图形学资源收集
    关于C++运算符重载
    Valve(维尔福软件公司) Half Life(半条命) CS(反恐精英)
    MySQL导入SQL文件及常用命令
    折磨了我3天的IIS服务器不能运行asp页面故障
    3721奇遇
    SMS2.0软件测量及出现的故障
  • 原文地址:https://www.cnblogs.com/NJM-F/p/10066160.html
Copyright © 2011-2022 走看看