首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将多个应用程序部署到Tomcat

将多个应用程序部署到Tomcat
EN

Stack Overflow用户
提问于 2014-05-10 00:11:02
回答 3查看 71.8K关注 0票数 39

我想将两个应用程序foo.warbar.war部署到同一个Tomcat实例。它们是否可以监听不同端口上的连接,例如foo监听端口81,bar监听端口82?如果是,我该如何配置它?我意识到应用程序没有必要监听不同的端口,但这正是我想要实现的。

另外,如果我将Tomcat重命名为ROOT.war,以便它在根上下文中运行,那么对此Tomcat实例的所有请求都将由foo应用程序处理,因此必须将bar部署到单独的Tomcat实例,这是否正确?

EN

回答 3

Stack Overflow用户

发布于 2014-05-10 01:36:23

无需更换端口

Java Servlet技术的目的是使用多个正在运行的web应用程序中的任何一个在多个用户之间处理多个传入请求和传出响应。所有这些流量都可以在一个端口上处理。

只需将这两个war文件放入Tomcat的webapps文件夹即可。这就是您需要做的全部工作。

默认情况下,Tomcat会将每个war (技术上是zip文件)展开(有人说是“炸开”)到一个文件夹中,并自动为您部署应用程序。如果Tomcat已经在运行,这会在运行时发生,或者在启动Tomcat时发生。有些人为生产环境关闭了自动部署功能,以节省Tomcat扫描新war文件的工作。

不需要多个端口。Servlet容器的任务是检查URL并确定应该调用哪个Servlet。

默认情况下,war文件的名称决定URL。给出你的例子:

所有的web应用程序都可以在同一个端口上运行。对于端口,您唯一关心的是您是否使用Unix风格的操作系统来保护对编号较低的端口的访问。这包括Mac OS X、BSD、Linux和Solaris。在URL中使用高编号的端口(Tomcat默认为8080),或者使用port-forwarding将端口80 (web浏览器的默认端口)上的传入请求发送到Tomcat的端口(如8080)。

如果希望使用不同的域提供war文件,请了解Tomcat中的“虚拟主机”设置。

票数 34
EN

Stack Overflow用户

发布于 2014-05-12 21:39:21

我已经成功地将Tomcat配置为在多个端口上运行应用程序。我不知道这是否是最好的方法,但我只是简单地复制了

代码语言:javascript
复制
<Service>...</Service>

在conf/server.xml中,更改了连接器标记的端口,并更改了主机标记的appBase属性。您可以根据应用程序部署到的appBase控制应用程序在哪个端口上运行。

票数 4
EN

Stack Overflow用户

发布于 2018-09-07 07:35:16

我已经在做Basil上面提到的事情了。

事实证明,我需要通配我的sites-enabled/blah.conf文件,以避免引用我在添加另一个应用程序前几个月部署的第一个(也是唯一一个) .war。

下面是我添加的通配符:

  • DocumentRoot
  • JkMount
  • Directory
  • DirectoryIndex

所以仅供参考,你会。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23569327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档