目录
前言
一、实验拓扑
二、配置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 {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
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、页面访问测试
动态页面
正常访问,试验成功。