tomcat从命令行重启webapp

Ita*_*agi 19 tomcat java-ee

我有一个PCI DSS兼容的环境,它运行几个应用程序,我想只重新启动一个应用程序,而无需重新启动服务器.我没有经理,因为显然在这种环境下不允许这样做.

如何通过命令行重新启动单个Web应用程序?

Ulu*_*kai 30

我知道我迟到了,但是为了从命令行重新加载应用程序你可以做的一个小技巧是转到应用程序的web.xml并简单地触摸它.

touch web.xml

tomcat每次注意到该文件发生变化时都会重新加载应用程序,如果你只是触摸它,你实际上并没有修改文件,只是时间戳.

  • 只有在`<Host>`元素上具有属性`autoDeploy = true`(默认情况下)时才会出现这种情况. (2认同)
  • 我相信您想说这会重新部署应用程序。如果您去更改分解的战争目录中的属性文件,然后触摸战争,它将重新部署,将所有更改重置为战争中最初的更改。 (2认同)

lau*_*ent 28

我是这样做的:

  1. 确保您的tomcat用户数据库中具有"manager-script"角色的用户.这通常意味着你在你的行中有这样的行${TOMCAT}/conf/tomcat-users.xml:
<user username="admin" password="secret" roles="manager-gui,manager-script"/>
Run Code Online (Sandbox Code Playgroud)

否则,由于跨站点请求伪造(CSRF)保护,您将收到403错误.

  1. 使用curl或任何你喜欢的命令行工具来获取URl <yourserver>/manager/text/reload?path=/<context_path>:

    curl --user user:secret http://localhost:8080/manager/text/reload?path=/mypath  
    
    Run Code Online (Sandbox Code Playgroud)


小智 0

不幸的是,我认为没有办法从命令行执行此操作。相反,我建议查看是否有一种方法可以在单独的 Tomcat 实例中托管您需要重新启动的单个应用程序,以便您可以重新启动该实例而不影响其他应用程序。


归档时间:

查看次数:

31212 次

最近记录:

6 年,6 月 前