【问题标题】:methods of hosting multiple apps on a single Tomcat在单个 Tomcat 上托管多个应用程序的方法
【发布时间】:2010-12-09 19:42:01
【问题描述】:

在单个 tomcat 上托管多个 Web 应用程序的常规方法是什么?

我能想到的一种方法是为不同的应用程序使用不同的上下文路径,但这会使潜在客户的 url 看起来很丑。

编辑: 我需要在单个 tomcat 上托管 不同的 应用程序

【问题讨论】:

  • 我不明白你的问题。你是什​​么意思不同的上下文路径?你的意思是同一个应用程序的多个实例?您的意思是在 Web 容器中而不是在单个 JVM 中?
  • 你是对的。编辑问题

标签: java tomcat web-hosting shared-hosting


【解决方案1】:

有很多方法。

  1. 只需将它们部署在单个实例上即可。
  2. 在单个服务器上安装多个 Tomcat 实例(例如,某些需要单独 JVM 的应用程序需要)
  3. 在 tomcat 中创建虚拟主机并将每个应用程序作为 ROOT 部署在自己的虚拟主机中

当然,你应该在你的 tomcat 前面安装一个 apache 服务器。最好的方法是恕我直言使用 mod_proxy_ajp。

对于多个实例,您可以在这里查看:http://wiki.v-collaborate.com/display/BLOG/2010/12/08/Install+Apache+Tomcat+7+on+ubuntu+and+debian?showComments=true

关于第三种方式,我的博客上有另一篇文章:http://wiki.v-collaborate.com/display/BLOG/2010/12/16/Configure+a+virtual+host+in+Apache+Tomcat+7 一个好的来源也是:http://confluence.atlassian.com/display/DOC/Guide+to+using+Apache+Tomcat%27s+Virtual+Hosts

【讨论】:

  • 如何在tomcat中创建虚拟主机?我认为 apache 是必需的...
  • 我在帖子中添加了一个新链接。
【解决方案2】:

此解决方案的“标准”方法是在您的 tomcat 实例前面使用可以代理的 http 服务器: 1. AJP - 比 http 更紧密(因此更快)的二进制协议。 2.http

所以你在 apache 中的虚拟站点响应 bob.com 和代理到 localhost:8080/bob 和 alice.com 到 localhost:8080/alice。

查找 mod_proxy mod_proxy_ajp 文档,您应该已经准备好了。

【讨论】:

    【解决方案3】:

    你说的 url 看起来很丑是什么意思?无论如何,有两种部署模型:single-tenant(不同的上下文路径,但很简单)和multi-tenant(单一的上下文路径,但很复杂(尽管可以实现))

    您可能也有兴趣在这里查看我的答案:Developing a Multitenant SaaS

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 2019-06-16
      • 2011-12-14
      • 1970-01-01
      相关资源
      最近更新 更多