当前位置: 首页 > news >正文

Nginx+Tomcat的动静分离

首先准备好5台机子:2台装有tomcat,3台装有nginx

1.关闭5台机子的防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Nginx1

vim /usr/local/nginx/conf/nginx.conf#在--#pid-- 下做四层代理
stream {upstream test {server 192.168.220.122:8080;server 192.168.220.123:8080;}server {listen 80;proxy_pass test;}
}#修改http模块中server的端口号为81,避免重复listen       81;
检查并重启服务
nginx -t
systemctl restart nginx
netstat -antp | grep nginx

2、3为静态页面,又做为7层代理 转发动态请求

Nginx2

vim /usr/local/nginx/conf/nginx.conf#在http模块中添加7层代理;加权轮询
upstream ky30 {server 192.168.220.111:8080 weight=1;server 192.168.220.112:8080 weight=1;
}#修改http模块中的连接保持超时时间为0
keepalive_timeout  0;#修改server端口号为8080
listen       8080;#在server模块中添加
location ~ .*\.jsp$ {proxy_pass http://ky30;proxy_set_header HOST $host;#将真实的请求IP地址传给后端服务器proxy_set_header X-Real-IP $remote_addr;#记录代理服务器的地址proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#设置访问静态页面
location ~ .*\.(gif|jpg|png)$ {root html;index index.html index.htm;
}重启nginx服务
systemctl restart nginx

Nginx3进行与2相同的操作

vim /usr/local/nginx/conf/nginx.conf#在http模块中添加7层代理;加权轮询
upstream ky30 {server 192.168.220.111:8080 weight=1;server 192.168.220.112:8080 weight=1;
}#修改http模块中的连接保持超时时间为0
keepalive_timeout  0;#修改server端口号为8080
listen       8080;#在server模块中添加
location ~ .*\.jsp$ {proxy_pass http://ky30;proxy_set_header HOST $host;#将真实的请求IP地址传给后端服务器proxy_set_header X-Real-IP $remote_addr;#记录代理服务器的地址proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#设置访问静态页面
location ~ .*\.(gif|jpg|png)$ {root html;index index.html index.htm;
}重启nginx服务
systemctl restart nginx

Tomcat1

cd /usr/local/tomcat/webapps/
mkdir test
vim test/index.jsp添加内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP Tomcat1 page</title>
</head>
<body>
<% out.println("动态页面 1,http://www.Tomcat1.com");%>
</body>
</html>
修改主配置文件
cd /usr/local/tomcat/conf/
修改前先备份文件
cp server.xml server.xml.20230812.bak
vim server.xml删除原有的<host>标签,再添加下面内容
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
重启tomcat
/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh
打开浏览器访问
访问配置tomcat1的IP地址
192.168.220.111:8080/index.jsp

Tomcat2进行与1相同的操作,显示的内容需要进行修改

cd /usr/local/tomcat/webapps/
mkdir test
vim test/index.jsp添加内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP Tomcat2 page</title>
</head>
<body>
<% out.println("动态页面 2,http://www.Tomcat2.com");%>
</body>
</html>
修改主配置文件
cd /usr/local/tomcat/conf/
修改前先备份文件
cp server.xml server.xml.20230812.bak
vim server.xml删除原有的<host>标签,再添加下面内容
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
重启tomcat
/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh
打开浏览器访问
访问配置tomcat2的IP地址
192.168.220.112:8080/index.jsp

nginx2

cd /usr/local/nginx/html/
vim index.html清空原有内容,添加下面内容
<html>
<head>
<title>Nginx test1 page</title>
</head>
<body>
<h1>this is Nginx static test1 !</h2>
<img src="1.jpg"/>
</body>
</html>在html目录下添加图片1.jpg

nginx3

cd /usr/local/nginx/html/
vim index.html清空原有内容,添加下面内容
<html>
<head>
<title>Nginx test2 page</title>
</head>
<body>
<h1>this is Nginx static test2 !</h2>
<img src="2.jpg"/>
</body>
</html>在html目录下添加图片2.jpg

通过浏览器访问代理服务器

访问nginx1的IP地址
访问静态页面
192.168.220.122:8080/index.html
192.168.220.123:8080/index.html访问动态页面前端
192.168.220.121后端
192.168.220.121/index.jsp
刷新页面即可实现动态访问

ps:如果图片加载不出来,并且无法跳转页面的话,可以右击被 "压缩的图片" 点击 "加载图片" ,然后再刷新就好了

http://www.lryc.cn/news/120600.html

相关文章:

  • Tomcat部署与优化
  • jmeter工具使用
  • 【uniapp】封装一个全局自定义的模态框
  • UNIX 入门
  • Golang通过alibabaCanal订阅MySQLbinlog
  • Python flask-restful 框架讲解
  • MySQL_约束、多表关系
  • 在Qt中使用LoadLibrary无法加载DLL
  • 如何将区块链新闻稿发布到海外媒体?
  • 基于 CentOS 7 构建 LVS-DR 群集。
  • 防火墙组建双击热备后,点击管理对端设备,老是打不开,怎么办?
  • 【Kubernetes】Kubernetes之Pod详解
  • 电商与客服系统完美对接指南源码-无缝对接唯一客服系统-提升电商客户体验...
  • 新知识:Monkey 改进版之 App Crawler
  • 黑马头条项目学习--Day3: 自媒体文章发布
  • 使用frp实现内网穿透
  • 安装 opendr 踩坑记
  • 各地区-各行业法人单位、区划数63个指标(2010-2022年)
  • W5500-EVB-PICO作为TCP Client 进行数据回环测试(五)
  • web前端面试--递归(斐波那契数列)
  • Vue3 Props组件简单应用(父组件获取子组件数据)
  • Mybatis查询
  • 如何让ES低成本、高性能?滴滴落地ZSTD压缩算法的实践分享
  • [数据集][目标检测]PCB板缺陷目标检测数据集VOC格式693张6类别
  • Linux 安装中文输入法
  • redisson
  • 源码分析——HashMap(JDK1.8)源码+底层数据结构分析
  • 企业举办活动邀请媒体的意义和重要性
  • 从零开始学python(十六)爬虫集群部署
  • flutter