【发布时间】:2011-08-20 12:49:46
【问题描述】:
这是一个关于 Tomcat 部署的稍微不同的问题。之前的问题已经部分涵盖了它,但我想从那些实际做过 Tomcat 部署的人那里来。
在我的组织中,我看到了两种类型的部署。
-
WAR 部署到 Tomcat webapps 目录。 Tomcat 停止,现有的 WAR 文件被重命名,webapps (appBase) 下的现有应用程序目录被移除,新的 WAR 被复制进来,并重新启动 Tomcat。 好处:部署 WAR 似乎每个人都理解。 我可以看到两个缺点。
A. 如果 WAR 包含特定于部署的信息,例如 DB 连接信息,则开发环境需要某种版本和构建控制,以确保正确的特定于部署的信息进入 WAR 文件。这可能会变得复杂。
B. 很多步骤,不难,但每一步都有潜在的错误点。
appBase 指向应用程序文件系统,特定于部署的信息保存在其他地方。应用程序可部署文件系统或 WAR 文件被复制到 Tomcat 框上的某个位置。 Tomcats Servlet.xml 中应用程序的 appBase 属性被修改为指向新部署的代码。复制后Tomcat会重启。 所有特定于部署的配置信息都保存在不受部署影响的 [tomcat_root] 下的单独目录中。如果需要任何更改,可以随时进行编辑,然后重新启动 Tomcat 以获取更改。优点:非常简单,通常只有一步,最多两步 缺点:可能需要在部署机器上编辑文件。这在许多生产环境中是不允许的,或者必须由系统管理员而不是部署人员来完成。如果发生某些事情,可能会导致延误、政治问题和指责 出错了。
正如我上面所说,我想听听任何一种方法的真实体验。我绝对赞成第二种方法。我想知道第一个的吸引力是什么 它似乎更容易出错。
谢谢, -=b
【问题讨论】:
标签: tomcat deployment web-deployment