【发布时间】:2019-02-23 07:45:20
【问题描述】:
我正在尝试了解 Apache Tomcat 遵循的模型,但文档显然对我没有意义。
据我了解,Tomcat 是用于托管各种服务的服务器 - 所以它非常通用。我有这个应用程序,我正在尝试了解如何托管,它的主要部署方法似乎是作为 Tomcat 托管的 Web 服务 - 该应用程序称为 Camunda(它在 github 上)。在浏览了 Camunda 的文档后,我的 Tomcat 目录中充满了与 Camunda 相关的 jar 和配置文件等。文档说只需将所有内容直接放入 Tomcat lib 文件夹、conf 文件夹等。
我对其他“平台”/“服务”风格的主机应用程序的大部分经验是,应用程序本身(在本例中为 Tomcat)在其自己的目录中保持不变。通过配置文件等,它知道如何托管它需要托管的任何东西。
在 Tomcat 的情况下,似乎习惯上基本上用一堆托管内容的库“污染”Tomcat 目录?
这就是为什么我将标题命名为“Tomcat 是否意味着每个应用程序安装一个”,因为出于所有意图和目的,一旦您在 Tomcat 中托管某些内容,该目录就会变得如此耦合,以至于 Tomcat 目录就是那个东西。
这正常吗?只是在文档中可能会用其他术语寻找一些澄清,因为文档对我来说似乎不是很清楚。
这是我正在关注和引用的安装过程的链接:https://docs.camunda.org/manual/latest/installation/full/tomcat/manual/
【问题讨论】:
-
一个链接会很有帮助,因为有多个类似名称的项目。您是正确的,通常,多个应用程序(此处称为“Servlet”)部署到单个 Tomcat 实例,每个作为 Tomcat 将提取(解压缩)的 .war 文件(基本上是一种特殊的 .jar 文件)。遵循 camunda/camunda-bpm-workbench "Install-Workbench-inside-an-Application-Server" 的指南?这自 2015 年以来没有更新,但如果它真的是你需要的......他们也有一个独立的应用程序:github.com/camunda/camunda-bpm-workbench/wiki/…
-
关于“污染”Tomcat 目录,这个答案可能会有所帮助:stackoverflow.com/a/10077070/10898724
-
将任何 JAR 文件放入 Tomcat 的
lib目录的唯一原因是为了在应用程序之间共享它或克服一些安全问题。如果您的应用供应商的建议是在那里安装他们所有的 JAR 文件,他们不知道他们在说什么。除了他们的 .war 文件之外,通常没有理由安装 任何东西。 -
@CodeShane 我编辑了我的原始帖子并添加了我正在关注的安装指南的链接:docs.camunda.org/manual/latest/installation/full/tomcat/manual
-
谢谢你,@Ryan - 一旦我们有一个完整的问题,我就会发布一个完整的答案,但很高兴看到你已经找到了答案。 :)