将要实现的效果:
使用Nginx进行反向代理,根据访问的路径跳转到不同的端口服务中,Nginx监听端口为4470,访问http://192.168.31.146:4470/edu/时跳转到127.0.0.1:8889,访问http://192.168.31.146:4470/vod/时跳转到127.0.0.1:8890
解释说明:
(1)192.168.31.146是本机ip地址,
(2)端口4470、8889、8890为自定义端口,无特殊限制,但不要与其他端口冲突。
步骤(一)
(1)准备两个Tomcat服务器,一个监听8889端口,一个监听8890端口
①在官网下载压缩包,并解压
安装好监听8889端口的Tomcat后的文件目录:
安装好监听8890端口的Tomcat后的文件目录:
②配置环境变量
在环境变量之用户变量下添加如下四个变量:
在环境变量之用户变量下的path变量里面添加如下四个变量:
③修改Tomcat配置文件里面的默认变量
到D:Tomcat8889in下,依次打开catalina.bat、shutdown.bat、startup.bat,将默认变量CATALINA_HOME和CATALINA_BASE改为CATALINA_HOME1和CATALINA_BASE1
到D:Tomcat8890in下,依次打开catalina.bat、shutdown.bat、startup.bat,将默认变量CATALINA_HOME和CATALINA_BASE改为CATALINA_HOME2和CATALINA_BASE2
解释说明:
(1)shutdown.bat、startup.bat只有CATALINA_HOME变量
(2)可以借助文本编辑器的“替换”功能,高效快速修改
④修改Tomcat配置文件里面的默认监听端口
到D:Tomcat8889conf下,打开server.xml,修改后的端口如下图:
到D:Tomcat8890conf下,打开server.xml,修改后的端口如下图:
解释说明:
(1)端口8016、8017为自定义端口,无特殊限制,但不要与其他端口冲突。
(2)因新旧Tomcat版本差异,可能还需要修改第三个端口,考虑到新版本不需再修改,故不再特地演示
(2)创建文件夹和测试页面
进入到D:Tomcat8889webapps下,创建文件夹edu,在文件夹edu下创建任意测试页面,比如a.html(完整路径:D:Tomcat8889webappsedua.html)
进入到D:Tomcat8890webapps下,创建文件夹vod,在文件夹vod下创建任意测试页面,比如a.html(完整路径:D:Tomcat8890webappsvoda.html)
步骤(二)
进入 到E: ginx-1.18.0conf下,打开nginx.conf,修改后的配置如下图:
解释说明:
(1)在nginx.conf中35行,没有做出修改,仍然保持nginx默认监听80端口;只是在82行开始,增加nginx监听的端口
(2)正则表达式/edu/和/vod/,当路径包含edu和vod时,进行跳转
步骤(三)
启动Nginx、Tomcat,输入相关路径进行验证,如下图:
(1)
(2)
解释说明:启动Tomcat后,Tomcat窗口会出现乱码,如下图:
解决办法:进入到D:Tomcat8889conf下,打开logging.properties,将编码规则UTF-8改为GBK
编者寄语:如有不当,欢迎大家指正,一起进步~