搭建keepalived+nginx+tomcat高可用负载均衡服务器

本文档详细介绍了如何配置多台虚拟机作为应用服务器,通过Tomcat部署Java工程,并设置Nginx作为反向代理,实现负载均衡。接着,利用Keepalived在两台Nginx服务器上构建高可用环境,确保服务的稳定性和故障切换。通过防火墙规则、端口监听、权重分配等步骤,最终实现了通过虚拟IP访问任意一台服务器的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验环境:

准备四台配有静态IP地址的虚拟机
nginx-01 192.168.20.11
nginx-02 192.168.20.12
tomcat-01 192.168.20.21
tomcat-02 192.168.20.22
tomcat-03 192.168.20.23

二、配置三台tomcat代理java工程为应用服务器

配置:
防火墙开放8080端口

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

代理java工程

cd /usr/local/tomcat/webapps
rm -rf *
# 把对应的war包放入该目录中

设置EasyBuy项目默认访问路径

vim /usr/local/tomcat/conf/server.xml
<Context path="" docBase="EasyBuy" reloadable="true"/>

开启tomcat服务

systemctl start tomcat

结果:
浏览器访问192.168.20.21:8080 易买网-服务器一
在这里插入图片描述
浏览器访问192.168.20.22:8080 易买网-服务器二
在这里插入图片描述
浏览器访问192.168.20.23:8080 易买网-服务器三
在这里插入图片描述

三、配置两台nginx反向代理服务器

配置:
防火墙开放8080端口

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

监听8080端口

vim /usr/local/nginx/conf/nginx.conf

把80端口改为8080端口

listen 8080;

配置nginx反向代理

vim /usr/local/nginx/conf/nginx.conf

设置服务器集群

upstream tomcat{
  server 192.168.20.21:8080 weight=6;
  server 192.168.20.22:8080 weight=3;
  server 192.168.20.23:8080 weight=1;
}

指定代理到服务器集合

server{
	.....
	location / {
    	proxy_pass http://tomcat;
	}
	.....
}

结果:
浏览器访问192.168.20.11:8080 随机落在一台服务器上
在这里插入图片描述
浏览器访问192.168.20.12:8080 随机落在一台服务器上
在这里插入图片描述

四、配置keepalived+nginx高可用负载均衡服务器

配置:
在两台nginx服务器上安装keepalived

yum -y install keepalived

设置主备服务器

vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.20.100
    }
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.20.100
    }
}

设置跟踪策略,并用keepalived监听nginx

# 在vrrp_instance VI_1上面
vrrp_script check_nginx {
    script "/etc/keepalived/check_nginx.sh"
    interval 1
    weight -20
}
# 在密码设置下面的位置
track_script {
        check_nginx
    }

删除这两行

 13 vrrp_skip_check_adv_addr
 14 vrrp_strict

防火墙开启vrrp(解决出现主备都获取到虚拟IP的情况)
keepalived是基于vrrp做虚拟IP漂移的,不开启的话,主备均会认为对方down掉了,会造成主备都能获取到虚拟IP

firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent
firewall-cmd --reload

结果:
主设备可以获取虚拟IP,从设备没有虚拟IP
在这里插入图片描述
当主设备发生故障时,从设备会获取虚拟IP
在这里插入图片描述

目的:搭建高可用、高性能的jsp集群 二、初始化系统 #init system 系统环境: CentOS 5.5(定制安装) 组件: Base Development Libraries Development Tools Editors Text-based Internet ./init_system.sh #此脚本参见http://kerry.blog.51cto.com/172631/555535 三、LVS+keeplived #关于LVS+keeplived的配置请参考我的另一篇博文《CentOS5.5环境下布署LVS+keepalived 》http://kerry.blog.51cto.com/172631/401253 四、nginxtomcat整合 #config web_1、web_2 #download software cd /opt wget http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz wget http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-i586.bin wget http://nginx.org/download/nginx-1.0.0.tar.gz wget http://ftp.exim.llorien.org/pcre/pcre-8.12.tar.gz wget http://apache.etoak.com//tomcat/tomcat-connectors/native/1.1.20/source/tomcat-native-1.1.20-src.tar.gz wget http://archive.apache.org/dist/apr/apr-1.4.2.tar.gz wget http://archive.apache.org/dist/apr/apr-util-1.3.9.tar.gz #================================ 1、安装tomcat、JDK ================================= mv apache-tomcat-6.0.32.tar.gz jdk-6u25-linux-i586.bin /usr/local/ tar -zxvf apache-tomcat-6.0.32.tar.gz mv apache-tomcat-6.0.32 tomcat chmod +x jdk-6u25-linux-i586.bin ./jdk-6u25-linux-i586.bin #apr 与 tomcat-native 提供更好的伸缩性、性能和集成到本地服务器技术,如果没有apr技术,启动tomcat 时出现如下提示 #INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_25/jre/lib/i386/client:/usr/local/jdk1.6.0_25/jre/lib/i386:/usr/local/jdk1.6.0_25/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib rpm -e --nodeps apr-1.2.7-11.el5_3.1 rpm -e --nodeps apr-1.2.7-11.el5_3.1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白*进阶ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值