Nginx和Tomcat实现负载均衡群集部署应用
创始人
2024-12-28 23:06:46
0

 

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2024年7月10日14点11分

🀄️文章质量:94分


在当今互联网高并发访问的环境下,单一的Web服务器很难满足不断增长的用户需求。为了提高系统的可靠性、可扩展性和高可用性,实现负载均衡和集群部署是一个非常重要的解决方案。

Nginx凭借其高性能、高并发和低资源占用的特点,成为了一款出色的反向代理服务器和负载均衡器。它可以在多台Web服务器之间分发请求,实现负载均衡,同时还提供了缓存、压缩等优化功能,有效提高了Web应用程序的响应速度和可靠性。

而Tomcat则是一款广泛使用的Java Web应用服务器,它支持集群部署,可以将多个Tomcat实例组合成一个逻辑上的服务器集群,实现请求的负载均衡和会话共享,从而提高了系统的可扩展性和高可用性。

无论是Nginx还是Tomcat,它们在负载均衡和集群部署方面都有着独特的优势和特点,根据具体的应用场景和需求,合理选择和配置这两种技术,可以极大地提升Web应用程序的性能和可靠性。

实验环境

Nginx IP地址:192.168.192.100/24

Tomcat1 ip地址:192.168.192.111/24

Tomcat2 ip地址:192.168.192.112/24

本案例我们将以Nginx作为负载均衡器,Tomcat作为应用服务器的负载群集的设置方法

Tomcat1

1.查看JDK是否安装

[root@localhost ~]# java -version -bash: java: 未找到命令

如果没有配置java不要慌,如果有的话是会显示的

配置本地源或者阿里源来安装

yum install -y java-1.8.0-openjdk

上传安装包 解压安装

解压完成之后移动

开启tomcat

[root@localhost ~] tar -zxf apache-tomcat-9.0.91.tar.gz    解压     [root@localhost ~ ]mv apache-tomcat-9.0.91 /usr/local/tomcat8   移动到 /usr/local下   [root@localhost ~] /usr/local/tomcat8/bin/startup.sh		开启tomcat Using CATALINA_BASE:   /usr/local/tomcat8 Using CATALINA_HOME:   /usr/local/tomcat8 Using CATALINA_TMPDIR: /usr/local/tomcat8/temp Using JRE_HOME:        /usr Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar Using CATALINA_OPTS:    Tomcat started.

访问测试

访问Tomcat的ip地址8080 出现以下页面表示成功

创建存放的目录和页面

创建/web/webapp1目录,修改Tomcat 配置文件 server.xml,将网站文件目录更改到/web/webapp1/路径下

mkdir -p /web/webapp1

在/web/webapp1/路径下建立 index.jsp,为了区别将测试页面 index,jsp 的内容更改如下

vim /web/webapp1/index.jsp 加入以下内容 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>       JSP test1 page       <% out.println("Welcome to test site, http://www.test1.com");%>  

修改Tomcat存放路径

vim /usr/local/tomcat8/conf/server.xml

[root@localhost ~]# netstat -nultp | grep 8080 tcp6       2      0 :::8080                 :::*                    LISTEN      1133/java            [root@localhost ~]# kill -9 1133 重启 [root@localhost ~]# /usr/local/tomcat8/bin/startup.sh

查看进程关闭进程

 

重新访问测试

Tomcat2

都也一样需要注意的是页面内容记得修改

Nginx配置

下载所需组件

yum groupinstall "Development Tools" yum install -y pcre-devel zlib-devel openssl-devel
如果还缺什么组件 可以自己下载 如果没有包 可以配置阿里源来下载

root@localhost ~ groupadd www root@localhost ~ useradd -g www www -s /bin/false root@localhost ~ tar -xzf nginx-1.26.1.tar.gz  root@localhost ~ cd nginx-1.26.1/ [root@localhost nginx-1.26.1] ./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module   make && make install

编辑Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf           upstream tomcat_server {         server 192.168.192.111:8080 weight=1;         server 192.168.192.112:8080 weight=1;     }             location ~ \.jsp$ {             proxy_pass   http://tomcat_server;             proxy_set_header Host $host;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         }
 
[roót@localhost~]#/usr/local/nginx/sbin/nginx -t

命令解释

upstream 指令用于定义一组服务器,这些服务器将作为负载均衡池,Nginx 会根据负载均衡算法将请求分发到这些服务器上。在这个例子中,定义了一个名为 tomcat_server 的上游服务器组,包含两台服务器 192.168.192.111:8080 和 192.168.192.112:8080,它们的权重都是 1。

将所有以 .jsp 结尾的请求代理到 tomcat_server 上游服务器组,实现了对 JSP 页面的负载均衡。

测试 Nginx 配置文件是否正确

 

配置完成之后重启

nginx有多个进程记得一并杀死

[root@localhost ~]# netstat -nultp | grep nginx tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      57513/nginx: master  [root@localhost ~]# kill -9 57513 [root@localhost ~]# kill -9 57514 [root@localhost ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

查看进程

测试负载均衡效果

不断刷新浏览器测试,可以看到由于权重相同,页面会反复在以下两个页面来回切换第一次访问,出现test1的测试页面,刷新后,第二次访问,出现 1est2 的试页面,。这说明负载均衡群集搭建成功,已经可以在两个Tomcat server站点进行切换

再次访问测试

访问jsp的文件时 给予回复的是Tomcat服务器 并且两个服务器来回切换

"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...