一、实现效果:
使用Nginx反向代理,根据访问的路径跳转到不同端口的服务中,Nginx监听端口为9001
- 访问http://127.0.0.1:9001/bs-manager/ 直接跳转到127.0.0.1:8001
- 访问http://127.0.0.1:9001/bs-webapp/ 直接跳转到127.0.0.1:8002
二、准备工作
- 准备两个tomcat服务器,一个8001端口,一个8002端口。
- 使用命令 编辑 文件 :/conf/server.xml 文件 vim server.xml
- 修改后如下:
1、修改server 的默认端口,由默认8005->8091
2、修改http协议的默认端口,由默认的8080->8082
3、修改默认ajp协议的默认端口,由默认的8009->9001
- tomcat8.5修改端口号 启动命令 bin目录下 ./startup.sh
- 在Linux上启动Tomcat,结果弹出:-bash: ./startup.sh: Permission denied 的提示,解决方案
用命令chmod 修改一下bin目录下的.sh权限就可以了
chmod u+x *.sh
这里的u 这里指文件所有者,+x 添加可执行权限,*.sh表示所有的sh文件。
4. 测试页面:(前置条件:服务器需要开启防火墙或者对应的端口号)
IP:8001 通过 、IP:8002 通过 (线上服务器需要等5分钟左右才能通)
三、具体配置
- 准备测试页面 (链接可预览)
- tomcat8001的tomcat,放到目录 /webapp/bs-webapp 下,内容: 登录模板
- tomcat8002的tomcat,放到目录 /webapp/bs-manager 下,内容: 自己打包的vue项目
2. 修改Nginx配置
修改 nginx 的配置文件 在 http 块中添加 server{}
修改其中注释的就行。
修改成功后
- 开发的端口: nginx监听端口:9001,tomcat8001端口:8001,tomcat8002端口:8002。
- 测试结果 test.wxw.plus 代表你的服务器IP
总结:location 指令说明 该指令用于匹配 URL。
- 语法如下:
- = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。
- ~:用于表示 uri 包含正则表达式,并且区分大小写。
- ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
- ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~*标识。