从 Tomcat 文本界面部署失败,指定了无效的上下文路径 null

从 Tomcat 文本界面部署失败,指定了无效的上下文路径 null

我有一个看似简单的情况:一个正在运行的 Tomcat 7.0.54 实例,其主机配置了autoDeploy=false并且unpackWars=true我想在那里部署一个新的 Web 应用程序而不重新启动服务器。

我从服务器内部将 webapp WAR 文件复制到 TomcatappBase目录 ( webapps/),然后从 HTML 管理器中,我可以通过填写“上下文路径”表单字段并点击“部署”从“部署目录或位于服务器上的 WAR 文件”部分成功部署它。

我现在正尝试从命令行执行相同操作,同时使用如下命令:

 curl -u admin:password1 http://localhost:8680/manager/text/list

和:

curl -u admin:password1 http://localhost:8680/manager/text/stop?path=/webapp

两者都给出了OK - [...],我找不到任何/deploy成功的命令的语法,任何尝试都会导致以下错误:

FAIL - Invalid context path null was specified

根据经理文档,以下语法应该可以做到这一点:

curl -u admin:password1 http://localhost:8680/manager/text/deploy?war=webapp.war

但事实并非如此,即使添加一个&path=/webapp参数也不会产生不同的结果。

webapps/文件夹的权限已经正确:由于其他 Web 应用程序已经部署并正在运行,因此所有内容都属于root

我错过了什么?

答案1

事实证明有两个问题:

  1. 在 Linux 上,&被解析为作业控制并且命令在后台运行,所以我必须将整个 URL 放在引号之间;
  2. 整个工作语法是:

    http://localhost:8680/manager/text/deploy?war=webapp&path=/webapp"
    

相关内容