CentOS7-Nginx反向代理-根据访问路径跳转到不同的Tomcat
1、实现效果
Nginx 监听端口为:8001 访问 http://127.0.0.1:8001/test1/1.html 跳转到 127.0.0.1:8081 访问 http://127.0.0.1:8001/test2/1.html 跳转到 127.0.0.1:8082
2、准备工作
(1)在 /data 目录下,新建两个文件夹,分别为 tomcat-8081/tomcat-8082 (2)并将 apache-tomcat-8.5.73,分别复制一份到 tomcat-8081/tomcat-8082
(3)在 /data/tomcat-8081/apache-tomcat-8.5.73/webapps 创建 test1文件夹,新建 1.html文件
-- 1.html内容如下
<h1>8081</h1>
(4)第一台Tomcat设置监听端口为:8081,并启动
-- 访问 http://127.0.0.1:8081/test1/1.html
-- 127.0.0.1 本机地址
-- 8081 第一台Tomcat的端口号
-- /test1 是/data/tomcat-8081/apache-tomcat-8.5.73/webapps/ 目录下的test1文件夹
-- /1.html 是/data/tomcat-8081/apache-tomcat-8.5.73/webapps/test1/目录下 1.html文件
(5)在 /data/tomcat-8082/apache-tomcat-8.5.73/webapps 创建 test2文件夹 新建 1.html文件,复制到 test2文件夹中
-- 1.html内容如下
<h1>8082</h1>
(6)第二台Tomcat设置监听端口为:8082,并启动2
3、nginx.conf 反向代理配置
-- 配置文件目录:/usr/local/nginx/conf
loction ~ /test1/
= :用于不含正则表达式的URL前,要求 **请求字符串与 URL 严格匹配**,匹配成功就停止继续向下搜索并立即处理该请求;
~~:用于不含正则表达式的URL前,要求 Nginx服务器找到 标识URL 和 请求字符串匹配程度最高的 location后,立即使用此 location 处理请求,而不再使用 location块中的 正则URL 和 请求字符串做匹配;
~:用于URL包含正则表达式,且 **区分大小写**;
~*:用于URL包含正则表达式,且 **不区分大小写**;
4、Linux中测试
-- 访问第一台Tomcat
http://192.168.137.131:8001/test1/1.html
-- 访问第二台Tomcat
http://192.168.137.131:8001/test2/1.html
5、防火墙放行 8001、8081、8082端口
-- 当前可放行的端口列表
firewall-cmd --list-all
-- 防火墙新增放行 8001、8081、8082端口
firewall-cmd --add-port=8001/tcp --permanent
firewall-cmd --add-port=8081/tcp --permanent
firewall-cmd --add-port=8082/tcp --permanent
-- 重新加载防火墙配置信息
firewall-cmd --reload
6、本机测试
|