2011-04-21 50 views
3

我想用ant install在本地虚拟主机上部署(并重新部署和重新部署)我的webapp。在Tomcat虚拟主机上使用`ant install`

它对默认主机正常工作,但虚拟主机没有manager web应用程序。我想在现场环境中使用类似的设置(给定主机上没有管理员)。

我发现了一个promisiong属性:

webapp.virtual.host=... 

在一些示例build.properties,但它似乎并没有把工作做好。它甚至可能,以及如何?

回答

2

在我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并达到类似的结果。

+0

“例如,您可以将其部署在某个IP /端口上”您是什么意思?我希望管理员应用可以与公共可访问的领域分离。这就是为什么我目前使用单独的虚拟主机(但根本问题是管理器应用程序不会部署跨主机)。 – vbence 2011-05-10 19:06:51

+0

编辑我的答案,希望这可以帮助 – mindas 2011-05-10 20:47:32

+0

感谢您的例子。在锁定时间之后,我会奖赏你的赏金。你能否指点我描述这种结构的文档? (“连接器”和“上下文”可识别哪些属性)。 – vbence 2011-05-10 22:06:39