Jakarta ee tomcat从命令行重新启动webapp
我有一个兼容PCI DSS的环境,它运行多个应用程序,我只想重新启动一个应用程序而不重新启动服务器。我没有经理,因为显然在这种环境下是不允许的Jakarta ee tomcat从命令行重新启动webapp,jakarta-ee,tomcat,Jakarta Ee,Tomcat,我有一个兼容PCI DSS的环境,它运行多个应用程序,我只想重新启动一个应用程序而不重新启动服务器。我没有经理,因为显然在这种环境下是不允许的 如何通过命令行重新启动单个web应用程序?不幸的是,我认为没有办法从命令行执行此操作。相反,我建议您看看是否有办法将需要重新启动的单个应用程序托管在一个单独的Tomcat实例中,这样您就可以在不影响其他应用程序的情况下重新启动该实例。如果没有对manager应用程序的访问权,您将无法执行此操作。如果您可以访问manager应用程序,但仍然希望使用命令行而
如何通过命令行重新启动单个web应用程序?不幸的是,我认为没有办法从命令行执行此操作。相反,我建议您看看是否有办法将需要重新启动的单个应用程序托管在一个单独的Tomcat实例中,这样您就可以在不影响其他应用程序的情况下重新启动该实例。如果没有对manager应用程序的访问权,您将无法执行此操作。如果您可以访问manager应用程序,但仍然希望使用命令行而不是web浏览器,则可以尝试使用名为tomcat manager的方法。它需要Python,但允许您从Unix shell执行以下操作:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ reload /myapp
以及:
我是这样做的:
${TOMCAT}/conf/TOMCAT users.xml中有这样一行代码:
否则,由于跨站点请求伪造(CSRF)保护,您将收到403错误
curl
或任何您想要获取URl的命令行工具/manager/text/reload?path=/
:
我知道我参加聚会迟到了,但要从命令行重新加载应用程序,可以做的一个小技巧是转到应用程序的web.xml并简单地触摸它
cd-webapps//WEB-INF/
touch web.xml
tomcat每次注意到此文件的更改时都会重新加载应用程序,如果您只需触摸它,您实际上并不是在修改文件,而是在修改时间戳。可以将app.war的名称更改为temp app.war.bkp(备份的任何名称),然后在tomcat删除webapp的源文件夹时,将.bkp的名称更改为原始名称。
此操作仅适用于console access用户。有效!!谢谢谷歌搜索仍然向我显示了这个线程,这是我一直在寻找的。只有当你的
元素(默认情况下)上有属性autoDeploy=true
时,这才是真的。我相信你想说的是,这会重新部署应用程序。如果您在分解的war目录中更改属性文件,然后触摸war,它将重新部署,并用war中最初的更改重置您的所有更改。可能的重复
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
curl --user user:secret http://localhost:8080/manager/text/reload?path=/mypath