在单个Tomcat上托管多个应用程序的方法

时间:2010-12-09 19:42:02

标签: java tomcat web-hosting shared-hosting

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

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

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

3 个答案:

答案 0 :(得分:2)

此解决方案的“标准”方法是使用可以代理以下任一的http服务器来引导您的tomcat实例:   1. AJP - 比http更严格的二进制协议(因此更快)。   2. Http

因此,您在apache中的虚拟站点会响应bob.com以及localhost的代理:8080 / bob和alice.com到localhost:8080 / alice。

查找mod_proxy mod_proxy_ajp文档,您应该设置。

答案 1 :(得分:2)

有很多方法。

  1. 只需将它们部署在单个实例上即可。
  2. 在单个服务器上安装多个Tomcat实例(例如,某些需要分离JVM的应用程序需要)
  3. 在tomcat中创建虚拟主机,并将每个应用程序部署为自己的虚拟主机中的ROOT
  4. 当然,您应该使用apache服务器将tomcat放在前面。最好的方法是使用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

答案 2 :(得分:1)

url看起来丑陋是什么意思?无论如何,有2个部署模型:single-tenant(差异上下文路径但很简单)和multi-tenant(单个上下文路径但复杂(虽然可实现))

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