我想用ant install
在本地虚拟主机上部署(并重新部署和重新部署)我的webapp。在Tomcat虚拟主机上使用`ant install`
它对默认主机正常工作,但虚拟主机没有manager
web应用程序。我想在现场环境中使用类似的设置(给定主机上没有管理员)。
我发现了一个promisiong属性:
webapp.virtual.host=...
在一些示例build.properties,但它似乎并没有把工作做好。它甚至可能,以及如何?
我想用ant install
在本地虚拟主机上部署(并重新部署和重新部署)我的webapp。在Tomcat虚拟主机上使用`ant install`
它对默认主机正常工作,但虚拟主机没有manager
web应用程序。我想在现场环境中使用类似的设置(给定主机上没有管理员)。
我发现了一个promisiong属性:
webapp.virtual.host=...
在一些示例build.properties,但它似乎并没有把工作做好。它甚至可能,以及如何?
在我answer一个SO后,基督教Semrau评论:
在标准配置下,Tomcat的 监视其web应用文件夹,并 部署为您复制 .war文件到webapps文件夹中的任何Web应用程序, ,如果删除 .war文件并将其重新部署,并在 更改.war文件时重新部署它。但是在做 时,你没有得到有关部署成功的自动反馈 ,您从Tomcat Manager获得的结果为 。
这就是说,你的任务变得copying or removing the file on the remote server一样简单。
然而,我仍然不明白为什么有经理的应用程序是一个问题。例如,您可以将其部署在不同的主机/端口上:
<Connector port="8080" address="main.ip.add.ress">
...
<Context path="/your_main_context">
...
</Context>
</Connector>
<Connector port="18080" address="another.ip.add.ress">
...
<Context path="/manager">
...
</Context>
</Connector>
并放置相关的防火墙限制。或者,您也可以将
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow=".*\.mycompany\.com|www\.yourcompany\.com"/>
内部Context
并达到类似的结果。
“例如,您可以将其部署在某个IP /端口上”您是什么意思?我希望管理员应用可以与公共可访问的领域分离。这就是为什么我目前使用单独的虚拟主机(但根本问题是管理器应用程序不会部署跨主机)。 – vbence 2011-05-10 19:06:51
编辑我的答案,希望这可以帮助 – mindas 2011-05-10 20:47:32
感谢您的例子。在锁定时间之后,我会奖赏你的赏金。你能否指点我描述这种结构的文档? (“连接器”和“上下文”可识别哪些属性)。 – vbence 2011-05-10 22:06:39