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

相关推荐
小阳拱白菜21 分钟前
Maven项目创建流程
java·学习·maven
Seven9721 分钟前
Java中什么是类加载?类加载的过程?
java
还是鼠鼠30 分钟前
SpringBoot-准备工作-工程搭建
java·数据库·spring boot·后端·spring·maven·mybatis
Y1_again_0_again1 小时前
Maven通过修改pom.xml配置文件下载指定依赖包,以及解决MVNRepository网站加载和验证问题的方法
java·maven
武子康1 小时前
Java-51 深入浅出 Tomcat 手写 Tomcat 类加载机制 双亲委派机制 生命周期 插件化
java·开发语言·spring boot·后端·spring·tomcat·springcloud
若鱼19191 小时前
openapi-generator-maven-plugin自动生成HTTP远程调用客户端
java
爬虫程序猿1 小时前
如何利用 Java 爬虫获得微店商品详情:实战指南
java·开发语言·爬虫
都叫我大帅哥1 小时前
当Java遇上函数式编程:从“面条代码”到“代码诗人”的进化指南
java
都叫我大帅哥1 小时前
Spring Batch中的JobRepository:批处理的“记忆大师”是如何工作的?🧠
java·spring
三好码农1 小时前
深入Android 15 Zygote:ZygoteServer如何驾驭进程孵化
java·设计模式·架构