我只是将我的maven web应用程序打包到一个war文件中,然后将其上传到安装了tomcat环境的远程服务器上。在解压缩war文件并将所有文件放入/webapps/ROOT目录后,我运行bin/startup.sh来启动tomcat。
这很好,但是当我打算更改我的web应用程序并在服务器上重新部署它时,我不知道如何无缝地执行,也就是说,不会让使用我的网站的用户失去任何请求。
有人能给我点主意吗?非常感谢!
发布于 2013-11-20 03:42:16
你可以随时使用tomcat附带的manager应用程序来部署war,而不需要关闭网站,即使是使用浏览器的远程机器。
发布于 2014-01-15 08:38:00
您可以使用反向代理作为您网站的门户。将“第二个”war部署到Tomcat之后,您可以更改反向代理的配置并重新加载它。反向代理的重新加载非常迅速,因此它喜欢Java web应用程序的“无缝”重新部署。在反向代理重新加载之后,您可以安全地取消部署“第一次”应用程序战争。
如果应用程序需要时间进行初始化(例如:包括ORM、Spring .),这种重新部署方式尤其有用。
很少有人担心同时使用多场战争:
1)在Tomcat上将同时运行两个应用程序(虽然是临时的),确保并发执行没有任何危险。例如:计划作业
2)您需要确认Tomcat上有足够的内存来使用两个web应用程序,否则Tomcat可能会挂起。
3)仔细研究Java.lang.OutOfMemory: PermGen空间问题
https://stackoverflow.com/questions/20086757
复制相似问题