tomcat---动静分离

访问静态和动态页面分开

实现动态的静态页面负载均衡

实验一

准备阶段:三台虚拟机

nginx代理服务器 :20.0.0.40

tomcat1 :20.0.0.50

tomcat2:20.0.0.51

配置关闭虚拟机防火墙和安全机制

systemctl stop firewalld

setenforce 0

配置nginx代理服务器 conf/nginx

复制代码
upstream tomcat {
    server ip1:8080 weight=2;
    server ip2:8080 weight=3;
}

location ~* \.jsp$ {
   proxy_pass http://tomcat;
   proxy_set_header HOST $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
   #在nginx作为代理服务器时,会把所有经过的机器的IP,以及代理地址的IP全部记录下来
 }

nginx -t 检测配置文件是否有错

systemctl restart nginx 重启服务

切换到html目录下 cd /html

复制代码
<html>
<body>
<h1>this is Nginx static test !!<h1>
<img src="图片">
</body>
</html>

配置后端tomcat

进入webapps目录下创建一个目录,在目录下创建index.jsp

复制代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>tomcat01</title>   
</head>
<body>
<% out.println("tomcat01 running");%>
</body>
</html>

进入主配置文件并做备份 conf/server.conf

复制代码
#删除前面的 HOST 配置
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
</Host>

然后进入bin目录下启动tomcat

复制代码
./shutdown.sh
./stratup.sh

查看8080端口是否启动

netstat -antp | grep 8080

同理tomcat也是上述操作

实验二

四层+7层+动静分离

五台服务器

1、代理服务器nginx1:20.0.0.40

2、静态页面和动态的请求转发服务器

20.0.0.41

20.0.0.42

3、后端服务器

tomcat1:20.0.0.50

tomcat2:20.0.0.51

配置代理服务器

复制代码
stream {
  upstream static {
   server 20.0.0.50:80 weight=1;
   server 20.0.0.60:80 weight=1;
  }
  server {
     listen 80;
     proxy_pass static;
  }
}

转发服务器

复制代码
upstream tomcat {
   server tomcatip1:8080 weight=1;
   server tomcatip2:8080 weight=2;
}

location ~* \.jsp$ {
   proxy_pass http://tomcat;
   proxy_set_header HOST $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
   #在nginx作为代理服务器时,会把所有经过的机器的IP,以及代理地址的IP全部记录下来
 }

配置静态页面的命令

复制代码
<html>
<body>
<h1>this is Nginx static test !!<h1>
<img src="图片">
</body>
</html>

同理nginx2也是一样的

tomcat不需要动,实验一已经配置完毕

在浏览器上20.0.0.40可以查看静态

20.0.0.40/index.jsp查看动态

相关推荐
摇滚侠8 分钟前
Java 全栈开发实战教程 课程笔记 34-36
java·笔记
芝士熊爱编程13 分钟前
创建型模式-单例模式
java·单例模式·设计模式
大模型码小白17 分钟前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring
weixin_BYSJ19871 小时前
「课设设计」springboot校园超市助购系统26449 (附源码)
java·javascript·spring boot·python·django·flask·php
栋***t1 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
CHANG_THE_WORLD1 小时前
深入理解递归:从函数调用到调用栈的完整执行过程
java·开发语言·算法
xexpertS1 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
zy happy2 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第192题】【08_Kafka篇】第8题:死信队列是什么?延时队列是什么?
java·kafka·消息队列·死信队列·延时队列
meng半颗糖2 小时前
3.Java流程控制语句
java·开发语言·intellij-idea