【问题标题】:Tomcat6 not deploying my webappTomcat6 没有部署我的 webapp
【发布时间】:2011-06-23 17:28:56
【问题描述】:

我可以访问当前正在部署两个 web 应用程序的 Tomcat 服务器。当我将自己的 webapp 放在 apache-tomcat-6.xxx/webapps 目录中时,它不会部署它。我尝试下载Tomcat示例webapp,并将其部署在webapps目录中,但仍然无法部署。

除了将 webapps 放在 apache*/webapps 目录中以使它们部署之外,我还有什么需要做的吗?我尝试过启动/重启 Tomcat 令人作呕。

谢谢,
公里

【问题讨论】:

  • 我假设您无权访问 tomcat-manager 应用程序?另外,请考虑 server.xml (autoDeploy) 中可能设置为 false 的配置设置。
  • 我不知道tomcat-manager应用到底是什么。我对此完全陌生。但是,在 conf/server.xml 中 autoDeploy 设置为 true。
  • 经理在 /manager。您需要一个管理员帐户,默认情况下您可以通过编辑 conf/tomcat-users.xml 创建该帐户。
  • 你在 $CATALINA_HOME/logs/catalina.out 或 $CATALINA_BASE/logs/catalina.out 中有什么提示吗? Tomcat 可能会抱怨。如果您想查看输出是什么并且是否可以重新启动 tomcat,而不是使用 startup.sh,只需停止 tomcat 并在命令提示符处执行 catalina.sh。
  • 我在 catalina.out 中没有任何提示。它说“正在部署 Web 应用程序存档 [mywarapp]”,这应该是个好消息……

标签: java tomcat deployment tomcat6


【解决方案1】:

当您说放置自己的 web 应用程序时,我假设您正在放置 webapp.war 文件?确保在放置webapp.war 之前先删除现有的webapp 目录。 Tomcat 会自动扩充war 文件以创建webapp 目录。

【讨论】:

  • 好的,我删除了webapp目录,只用webapp.war试试。 Tomcat 确实膨胀了我的战争文件,但它仍然没有部署它。当我转到 my.url.com/[mywebapp] 时,我收到 404 Not Found 错误。但是当我访问 my.url.com/[otherwebapp] 时,其他网络应用程序运行良好。
  • 看来您的 autoDeploy 必须为 false:tomcat.apache.org/tomcat-5.5-doc/…。打开它,它应该可以工作。
  • 不,自动部署是真的。一直都是这样。
  • 尝试通过在网络浏览器中输入以下内容来重新加载应用程序:localhost:8080/manager/reload?path=/webapp
  • 我试过了。我收到了 403 Forbidden:“您无权访问此服务器上的 /manager/reload。” (我没有对服务器的物理访问,我通过 SSH 访问它。)
【解决方案2】:

您是否尝试过停止和启动 tomcat?

【讨论】:

    【解决方案3】:

    您的服务器启动了吗?如果是,则在 webapps 中创建您的项目目录。 还要寻找环境变量。

    【讨论】:

      【解决方案4】:

      检查安全管理器是否正在运行。如果是,您将需要编辑 catalina.policy 文件以允许部署和访问您的 Web 应用程序。

      【讨论】:

      • 我如何知道安全管理器是否正在运行?但我检查了 catalina.policy,并没有看到任何正在运行的 web 应用程序被授予权限。
      • 在启动脚本中会有-security标志
      【解决方案5】:

      如果您从 Eclipse 导出 .war 文件,请确保您的项目的动态 Web 模块方面版本不超过您的生产服务器可以处理的版本。例如,版本 3.0 适用于 Tomcat 7,但不适用于 Tomcat 6,需要将其设置为 2.5。要将项目方面的版本降低一个档次,请参阅this 问题。

      【讨论】:

        【解决方案6】:

        确保您的 war 文件的权限属于 tomcat 用户和组。请务必先删除已部署的目录,然后重新启动服务器。

        $ sudo rm -fr /path/to/tomcat/webapps/<yourwebapp>

        $ sudo chown tomcat:tomcat /path/to/tomcat/webapps/<yourwebapp.war>

        现在重启服务器

        【讨论】:

          【解决方案7】:

          tomcat 6 的部署系统有问题。由于某种原因,文件 $CATALINA_HOME/conf/Catalina/localhost/MyAppName.xml 的长度为零......我不确定是什么原因造成的,但我删除了零长度的 XML,删除了 WAR,然后我重复了部署过程(将 WAR 复制到 webapps 目录)并正确部署。我在日志文件中找到了失败消息...现在我知道它下次了,但我认为值得分享以防万一...

          希望对你有帮助...

          【讨论】:

            【解决方案8】:

            我也遇到这个问题,我重新下载tomcat并仔细检查service.xml,最后发现我的WEB-INF/web.xml不存在。

            【讨论】:

              【解决方案9】:

              我面临的问题是运行的 java 进程太多。不知何故,它没有让 Tomcat 启动,也没有抛出任何错误。

              为此,我杀死了所有的 java 进程,然后重新启动了 Tomcat 并且它工作了。

              在 Linux 中:

              > ps -aux | grep java
              > kill -9 [pid_from_last_command]
              

              【讨论】:

                猜你喜欢
                • 2011-03-30
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2013-06-06
                • 1970-01-01
                • 2011-02-16
                • 2010-12-21
                • 1970-01-01
                相关资源
                最近更新 更多