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查看动态

相关推荐
设计师小聂!几秒前
JDBC+HTML+AJAX实现登陆和单表的CRUD
java·ajax·servlet·html·maven
Mr__Miss5 分钟前
微服务中引入公共拦截器
java·微服务·架构
刘大浪20 分钟前
JDK17 与JDK8 共同存在一个电脑上
java
秋难降43 分钟前
贪心算法:看似精明的 “短视选手”,用好了也能逆袭!💥
java·算法
阿蒙Amon1 小时前
C#数字金额转中文大写金额:代码解析
java·mysql·c#
失乐园1 小时前
电商/物流/IoT三大场景:用MongoDB设计高扩展数据架构的最佳实践
java·后端·架构
五行星辰1 小时前
Spring AI 实战:用 Java 搞 AI,从此告别调参侠
java·后端
知其然亦知其所以然1 小时前
不懂 Python?没关系!Easy RAG 让 Java 开发者也能玩转大模型
java·后端·llm
五行星辰1 小时前
Spring AI 实现 MCP:让 AI 自动管理你的代码质量
java·后端
shangjg31 小时前
Kafka ACK机制详解:数据可靠性与性能的权衡之道
java·数据库·分布式·后端·kafka