当前位置: 代码迷 >> 综合 >> nginx(OpenResty)对tomcat的负载均衡
  详细解决方案

nginx(OpenResty)对tomcat的负载均衡

热度:77   发布时间:2024-02-11 16:52:58.0

**

一、Tomcat简介:

**
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式,Tomcat一般处理动态页面而处理静态HTML的能力不如Apache服务器。**

实验环境:在openResty 搭建成功的条件下 tomcat应该安装在rv上即server4:172.25.16.4 server4:172.25.16.20

在server4 server7 中
解压下载好的安装包

tar apache-tomcat-7.0.37.tar.gz -c /usr/local/tomcat
cd /usr/local/tomcat
ls

在这里插入图片描述
因为tomcat在java环境中 安装jdk

rpm -ivh jdk-8u121-linux-x64.rpm 

更改环境变量并刷新

[root@server1 local]# vim /etc/profile #在该文件的最后加入下面的内容。
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
[root@server1 local]# source /etc/profile #刷新
[root@server4 ~]# cd /usr/local/tomcat/bin/ #进到bin目录下执行脚本
[root@server4 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar[root@server4 bin]# netstat -antulpe | grep 8080 #查看tomcat的监听端口8080是否已经打开
tcp        0      0 :::8080                     :::*                        LISTEN      0          299176     20934/java  

在这里插入图片描述
测试tomcat在172.25.16.4是否部署成功:
在这里插入图片描述

更改nginx配置文件并重新加载nginx服务
在配置了openRsety中的server2:172.25.16.2中的nginx.conf文件

#在/usr/loacl/openResty/nginx/conf/nginx.confupstream tomcat{server 172.25.16.4:8080;server 172.25.16.20:8080;}location ~ \.jsp$ {proxy_pass   http://tomcat;}

在这里插入图片描述

在这里插入图片描述

在OpenResty中的html发布目录添加jsp文件

在这里插入图片描述

测试成功
在这里插入图片描述

在server4中shotdown掉tomcat
此时另一台的server7中接管 仍然可以打开
负载均衡
在这里插入图片描述
在这里插入图片描述

  相关解决方案