Tomcat Nginx的动静分离

1.单机反向代理:

实验 :7-3 做客户机,7-2做代理服务器,7-1 tomcat 服务器 数据传输从7-3到7-2到7-1

配置:

7-1为之前的虚拟机配置

7-2做代理服务器配置:

7-3客户机配置:

测试:

2.反向代理多机:

静态资源nginx自己响应,动态资源转交给tomcat响应

实验:Nginx要开启upstream(负载均衡)、location(url链接)、proxy_pass(反向代理)
配置:7-1做nginx代理服务器;7-2和 7-3做Tomcat服务器

配置:

7-1安装nginx;7-3 和 7-2安装Tomcat;都开启服务!

配置7-1Nginx服务器:

bash 复制代码
 vim /etc/nginx/conf/nginx.conf
 
 17 http {
 18      upstream   tomcat {
 19      server     192.168.91.4:8080;
 20      server     192.168.91.5:8080;
 21 }
 
 48         location  ~* \.(jpg|png)$  {
 49         root      /data/html;
 50 }
 51 
 52         location  /  {
 53         proxy_pass  http://tomcat;
 54 }

建立静态资源存放在本机中

配置7-2Tomcat服务器:

bash 复制代码
[root@localhost ~]# cd /usr/local/tomcat/webapps/ROOT
[root@localhost ROOT]# 
[root@localhost ROOT]# ls
asf-logo-wide.svg  bg-upper.png       tomcat.css        tomcat.svg
bg-button.png      favicon.ico        tomcat.gif        WEB-INF
bg-middle.png      index.jsp          tomcat.png
bg-nav.png         RELEASE-NOTES.txt  tomcat-power.gif
[root@localhost ROOT]# 
[root@localhost ROOT]# vim test.jsp
[root@localhost ROOT]# cat test.jsp
7-2
[root@localhost ROOT]#

配置7-3Tomcat服务器 :

bash 复制代码
[root@centos1 ~]# cd /usr/local/tomcat/webapps/ROOT
[root@centos1 ROOT]# ls
asf-logo-wide.svg  bg-upper.png       tomcat.css        tomcat.svg
bg-button.png      favicon.ico        tomcat.gif        WEB-INF
bg-middle.png      index.jsp          tomcat.png
bg-nav.png         RELEASE-NOTES.txt  tomcat-power.gif
[root@centos1 ROOT]# vim test.jsp
[root@centos1 ROOT]# cat test.jsp
7-1
[root@centos1 ROOT]#

测试:

3.反向代理多机多级:

实验:7-3为Nginx代理服务器;7-4和7-5为Nginx服务器;7-1和7-2为Tomcat服务器
配置:

7-1:192.168.91.3

7-2:192.168.91.4

7-3:192.168.91.5

7-4:192.168.91.7

7-5:192.168.91.8

第一层:

7-3Nginx代理服务器传内容给7-4和7-5Nginx服务器

配置:

配置7-3Nginx代理服务器:
bash 复制代码
 vim /etc/nginx/nginx.conf
 17 http {
 18      upstream   web {
 19      server     192.168.91.7;
 20      server     192.168.91.8;
 21 }
 
 48         location  /  {
 49         proxy_pass  http://web;
 50 }
 51 
配置7-4Nginx服务器:
bash 复制代码
[root@centos4 ~]# vim /usr/share/nginx/html/index.html
[root@centos4 ~]# 
[root@centos4 ~]# cat /usr/share/nginx/html/index.html
7-4
[root@centos4 ~]#
配置7-5Nginx服务器:
bash 复制代码
[root@centos5 ~]# vim /usr/share/nginx/html/index.html
[root@centos5 ~]# cat /usr/share/nginx/html/index.html
7-5
[root@centos5 ~]#

测试:

bash 复制代码
[root@localhost ~]# curl 192.168.91.5
7-4
[root@localhost ~]# curl 192.168.91.5
7-5
[root@localhost ~]# curl 192.168.91.5
7-4
[root@localhost ~]#

第二层:

7-4和7-5Nginx服务器传内容给7-1和7-2Tomcat服务器

配置:

配置7-4Nginx服务器:
bash 复制代码
 vim /etc/nginx/nginx.conf
 
 29     upstream  tomcat  {
 30         server 192.168.91.3:8080;
 31         server 192.168.91.4:8080;
 32 }
 
 
 48         location ~*  \.jsp$  {
 49         proxy_pass  http://tomcat;
 50 }
 51 
 52         location ~*  \.html$  {
 53         root        /usr/share/nginx/html;
 54 }
配置7-5Nginx服务器:
bash 复制代码
 vim /etc/nginx/nginx.conf
 
 30     upstream  tomcat  {
 31         server  192.168.91.3:8080;
 32         server  192.168.91.4:8080;
 33 }
 
 49         location  ~* \.jsp$ {
 50         proxy_pass      http://tomcat;
 51 }
 52 
 53         location  ~* \.html$ {
 54         root            /usr/share/nginx/html;
 55 }

测试:

curl访问,验证第二层配置(7-3Nginx代理服务器 传内容给 7-4和7-5Nginx服务器;再给到7-1和7-2Tomcat服务器

当访问静态资源(.html)时:
bash 复制代码
[root@localhost ~]# curl 192.168.91.5/index.html
7-5
[root@localhost ~]# curl 192.168.91.5/index.html
7-4
[root@localhost ~]# curl 192.168.91.5/index.html
7-5
[root@localhost ~]# 
当访问动态资源(.jsp)时:
bash 复制代码
[root@localhost ~]# curl 192.168.91.5/test.jsp
7-1
[root@localhost ~]# curl 192.168.91.5/test.jsp
7-1
[root@localhost ~]# curl 192.168.91.5/test.jsp
7-2
[root@localhost ~]# curl 192.168.91.5/test.jsp
7-2
[root@localhost ~]#
相关推荐
鹏大师运维19 分钟前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
007张三丰36 分钟前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
weixin_604236672 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春2 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
AI智图坊3 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
杨了个杨89823 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
云计算磊哥@7 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步20157 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
极客先躯8 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结8 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器