首先准备好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层代理 转发动态请求文章来源:https://www.toymoban.com/news/detail-644670.html
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:如果图片加载不出来,并且无法跳转页面的话,可以右击被 "压缩的图片" 点击 "加载图片" ,然后再刷新就好了文章来源地址https://www.toymoban.com/news/detail-644670.html
到了这里,关于Nginx+Tomcat的动静分离的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!