繁体   English   中英

如果tomcat的webapps目录下有多个应用程序,如何手动启动和停止apache-tomcat中的应用程序?

[英]how to start and stop application in apache-tomcat manually if there are more than one application in webapps directory of tomcat?

实际上我在 tomcat 的 webapps 目录中有两个应用程序

  webapps/hello_web1 and
  webapps/hello_web2

我想通过使用命令行(或除使用 tomcat 管理器 gui 以外的任何其他方式,以便我可以在我的程序中手动实现启动和停止 function)来分别启动和停止这些应用程序。

如果可能的话,请建议我,如果在 tomcat 中不可能,请建议我 web 服务器,它是可能的。

最好的方法是使用CURL从 Tomcat /manager 定位你想要的命令

curl --user user:pass http://localhost:8080/manager/text/<your command>?path=/<your web appl> 

在这里你可以找到命令列表https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html

在你的情况下

启动应用程序http://localhost:8080/manager/text/start?path=/yourWebAppl

停止应用程序http://localhost:8080/manager/text/stop?path=/yourWebAppl

重启应用程序http://localhost:8080/manager/text/reload?path=/yourWebAppl

在 Apache Tomcat 中部署 web 应用程序有几种方式,一种是<TOMCATDIR>/conf/Catalina/localhost目录下的 XML 部署描述符文件。

此类文件的内容是一个<Context...></Context>配置,可能如下所示(例如webapp1.xml ):

<?xml version='1.0' encoding='utf-8'?>
<Context displayName="webapp1"
         override="true"
         path="/webapp1"
         docBase="${catalina.base}/webapps/webapp1">

         ... some context configuration ...

</Context>

如果 Tomcat 在该目录中找到 XML 文件,它将尝试部署该文件中定义的上下文。 如果您从此目录中删除该文件,Tomcat 将取消部署 web 应用程序上下文。

所有这些都可以通过命令行或 shell 脚本来完成。

关于您的问题:您可以在此目录中放置两个上下文文件。 web 应用程序中的每一个。 要部署一个只需将文件移入,取消部署只需将其移出目录即可。

# deployment
&> cd "<TOMCATPATH>/conf/Catalina/"
&> mv webapp1.xml localhost/
  
# undeploy
&> cd "<TOMCATPATH>/conf/Catalina/localhost"
&> mv webapp1.xml ../

有关<Context...></Context>元素的更多详细信息,请参阅: The Context Container Doc Page

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM