关于 Nginx + Tomcat 配置中使用 proxy_pass 在处理 URL 上的说明

红薯 发布于 2013/09/25 18:02
阅读 4K+
收藏 14

经常在讨论区有人提这样一些关于 Nginx 中使用 proxy_pass 模块与后端 Tomcat 之间配置的 URL 处理问题,我在这里把这些问题做一个总结。

在总结之前有一点必须说明:proxy 模块是没有 URL 重写功能的!

场景1

应用已经部署到 Tomcat,可通过 http://host:8080/myapp1 来访问。
要求:tomcat 前面使用 Nginx ,可通过 http://myapp1.myservername.com 来访问 Tomcat 上的 myapp1 应用。

解决办法:
没解决办法,你应该把 myapp1 部署在 tomcat 的根下面

然后有人就问,可是我tomcat要跑好多个应用,不可能都部署到根下。

傻啊,你可以部署多个 tomcat 同时跑,每个 tomcat 运行在不同的端口,这样就可以让每个应用都跑在 tomcat 的根下。当然这样占的资源就要多一些,可没办法啊,你又要马儿跑,又要马儿不吃草怎么可能?

其他 Web 服务器和应用服务器的原理同上。

加载中
0
SilenceSu
SilenceSu
好吧、我就是部署在根目录....
SilenceSu
SilenceSu
但是总觉得开多个不方便
0
湘中朱生
湘中朱生

单机多tomcat配合nginx负载均衡可以有效提升硬件资源利用率,提升应用程序并发数和连接数;

如果只有一个应用,每个tomcat配置都写一个虚拟目录配置文件,虚拟目录为同一个文件目录即可,方便维护管理。

0
0
SNY
SNY

proxy_pass是可以rewrite的啊?

返回顶部
顶部