1

我刚刚将我的 maven web 应用程序打包成一个 war 文件,将其上传到安装了 tomcat 环境的远程服务器。在我解压我的war文件并将所有文件放入/webapps/ROOT目录后,我运行bin/startup.sh启动tomcat。

这很好用,但是当我打算更改我的 Web 应用程序并在服务器上重新部署它时,我不知道如何无缝地做到这一点,也就是说,不让正在使用我网站的用户丢失任何请求

谁能给我一些想法?非常感谢!

4

2 回答 2

0

您可以使用反向代理作为您网站的大门。将“第二次”war 部署到 Tomcat 后,您可以更改反向代理的配置并重新加载它。反向代理的重新加载速度非常快,因此它喜欢“无缝”重新部署 Java Web 应用程序。重新加载反向代理后,您可以安全地取消部署“第一次”应用程序之战。

如果应用程序需要时间进行初始化(例如:包括 ORM、Spring Framework...),这种重新部署的方式特别有用。

很少有人担心同时使用多个战争:

1)将有两个应用程序(虽然是临时的)同时在您的 Tomcat 上运行,请确保并发执行没有任何危险。例如:预定作业

2)您需要确认Tomcat 上有足够的内存来支持两个Web 应用程序,否则Tomcat 可能会挂起。

3)对Java.lang.OutOfMemory:PermGen Space问题一丝不苟

于 2014-01-15T08:38:00.547 回答
0

您始终可以使用 tomcat 附带的管理器应用程序来部署战争,而无需关闭网站,即使从使用浏览器的远程计算机上也是如此。

http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely

于 2013-11-20T03:42:16.903 回答