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 ~]#
相关推荐
zfxwasaboy6 小时前
Linux宏clamp(val, lo, hi)的作用
linux·运维·服务器
apl3597 小时前
论DevOps、平台工程的核心:配置管理与依赖管理
运维·devops
kida_yuan8 小时前
【以太来袭】6. Besu 的 API 与调试体系
运维·区块链
李彦亮老师(本人)10 小时前
【Linux系统】Rocky Linux 9.7操作系统简介
linux·运维·服务器·docker·kubernetes
minji...10 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
何中应10 小时前
Grafana如何重置密码
linux·运维·服务器·grafana
贺小涛11 小时前
jenkins
运维·jenkins
开开心心_Every12 小时前
限时免费加密、隐藏、锁定文件文件夹好工具
运维·服务器·人工智能·edge·pdf·逻辑回归·深度优先
RisunJan12 小时前
Linux命令-modprobe(自动处理可载入模块)
linux·运维