LNMT动静分离+keepalived

目录

前言

一、实验拓扑

二、配置tomcat

 三、nfs配置

四、配置NGINX

 五、配置NGINX的双机热备

六、验证双机热备



前言

LNMT动静分离是指在LNMT架构中使用动静分离技术,将动态请求和静态请求分开处理和分发,以提高性能和可扩展性。这种架构使用Nginx作为反向代理服务器,将静态资源直接由Nginx服务器提供,而将动态请求转发给后端的Tomcat应用服务器进行处理。

Keepalived是一种开源的高可用性解决方案,可以用于实现服务器之间的故障转移和负载均衡。它使用虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)来监控服务器的状态,并自动切换到备用服务器以实现高可用性。

当将LNMT动静分离架构与Keepalived结合使用时,通常是在Nginx服务器部署Keepalived以实现高可用性。可以部署多个Nginx服务器,并使用Keepalived来监控它们的状态。如果主要的Nginx服务器发生故障或不可用,Keepalived会自动将IP地址转移到备用服务器,确保服务的连续性。

此组合架构提供了高可用性和负载均衡的好处。即使其中一个Nginx服务器发生故障,Keepalived会自动将请求转发到其他可用的Nginx服务器,以确保服务的持续性和高性能。同时,LNMT动静分离架构通过将静态资源由Nginx直接提供,减轻了后端Tomcat服务器的负载,并提高了静态资源的访问速度。


一、实验拓扑

本次实验采用的nginx结合Tomcat来实现动静分离,负载均衡;使用nfs服务来为Tomcat共享目录

在调度器NGINX上配置keepalived来提高可用性

二、配置tomcat

Apache Tomcat® - Welcome!

##两台tomcat服务器先进行如下步骤 :
##解压/建立软连接
tar xf apache-tomcat-8.5.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/tomcat
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/catdown
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/catup
 
###创建挂载目录
/usr/local/tomcat
mkdir webapps1
###修改tomcat的访问目录
vim /usr/local/tomcat/conf/server.xml
###修改host字段插入
<Context path="" docBase="/usr/local/tomcat/webapps1" />


 三、nfs配置

安装及配置

##安装nfs服务
yum -y install nfs
##创建共享目录
mkdir /opt/web1
mkdir /opt/web2
##配置nfs的配置文件
vim /etc/exports
##插入
/opt/web1 192.168.115.136/24(rw,sync,no_root_squash)
/opt/web2 192.168.115.140/24(rw,sync,no_root_squash)
##让他生效
exportfs -arv
##启动nfs
systemctl start nfs

回到两台Tomcat挂载共享目录

###查看可挂载的目录
showmount -e 192.168.115.131
###挂载到webapps1
 mount 192.168.115.131:/opt/web1 /usr/local/tomcat/webapps1
##查看挂载情况
df
###分别书写测试页面
echo tomcat1 > webapps1/index.jsp
echo tomcat2 > webapps1/index.jsp
##启动Tomcat
catup
##查看端口、
netstat -anput |grep 8080

 测试页面

四、配置NGINX

安装NGINX

###安装
yum -y install epel-release.noarch 
yum -y install nginx
##修改配置文件
vim /etc/nignx/nginx.conf
##在http字段插入
upstream tomcat {
                server 192.168.115.136:8080;
                server 192.168.115.140:8080;
        }
##server字段插入
location ~ \.jsp$ {
                proxy_pass http://tomcat;
                proxy_set_header  Host $host;
        }
        location / {
                root    /usr/share/nginx/html;
                index   index.html;
        }
##启动NGINX

访问2台调度器

 测试动静分离

 

 五、配置NGINX的双机热备

安装keepalived

##安装
yum -y install keepalived
##配置
vim /etc/keepalived/keepalived.conf
############################################################
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL            ###从的编号要改动一下 LVS_DEVEL1
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER                  ###从改为BACKUP
    interface ens33               ###网卡名
    virtual_router_id 51
    priority 100                  ###从的优先级要比主低
    advert_int 1
   authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.115.200          ###VIP用来访问的虚拟IP
    }
}
virtual_server 192.168.115.200 8080 {       ###vip对应的真是IP 在下面
    delay_loop 6
    lb_algo rr 
    persistence_timeout 50
    protocol TCP

    real_server 192.168.115.136 8080 {        ###这是Tomcat服务器的IP
        weight 1
        HTTP_GET {
            url { 
              path /testurl/test.jsp
            }
url { 
              path /testurl2/test.jsp
            }
            url { 
              path /testurl3/test.jsp
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.115.140 8080 {       ###这是Tomcat服务器的IP
        weight 1
        HTTP_GET {
            url { 
              path /testurl/test.jsp
            }
            url { 
              path /testurl2/test.jsp
}
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

启动keepalived

systemctl start keepalived

查看主的IP说明keepalived生效了

 VIP页面访问测试

静态页面

动态页面

六、验证双机热备

模拟调度器主宕机init 0,直接给他关机,使用调度器备访问

1、查看调度器备的IP,ip漂移说明keepalived生效

 2、页面访问测试

 动态页面

 正常访问,试验成功。

猜你喜欢

转载自blog.csdn.net/2302_78534730/article/details/132545367
今日推荐