Tomcat 启动失败,我发现日志中没有错误输出

Tomcat 启动失败,我发现日志中没有错误输出

抱歉,这太长了,这里是简短的总结:我在 Ubuntu 14.04 VPS 上安装了 tomcat7,它工作正常(提供“tomcat 已安装”页面),直到我将拥有 /etc/tomcat7 的组更改为 tomcat7(这是设置管理界面教程的一部分)并调用“sudo service tomcat7 restart”。执行此操作后,我无法安装任何 tomcat 7 或 8 来在此服务器实例上提供页面。

详细信息:我尚未部署任何 webapps,我只是尝试运行常规 ROOT webapp(“tomcat 已安装”)。确切症状 - 当我(尝试)启动 tomcat 时,它似乎成功了。但是 netstat -a 并未显示 8080(http-alt)正在监听。如果我尝试访问 localhost:8080(或来自另一台机器的 IP:8080),连接将无限期挂起,但我确实从远程机器在 http-alt 上建立了 2 个连接。这本身就有一个问题 - 如果 8080 上没有任何监听,那么当我尝试浏览它时,如何建立 2 个连接?catalina.out 中没有错误,大多数其他日志文件都是空的。停止服务的调用(或直接调用 $CATALINA_HOME/bin/shutdown.sh)无法连接到端口 8005,并报告 tomcat 似乎没有运行。但是,ps 显示一个运行 tomcat 的 java 进程,命令行与另一台机器上成功安装 tomcat 的命令行相同。如果我终止该进程,机器将重新拒绝端口 8080 上的连接。

我尝试过的:

  1. 我对所有与 tomcat7 相关的包运行了 sudo apt-get purge,然后重新安装了它。
  2. 我再次清除了 tomcat7,并获得了 tomcat8.0.20 二进制版本。我验证了它的校验和,将它添加到我的主目录,在我的环境中设置了 $CATALINA_HOME 和 $JAVA_HOME,然后运行了 $CATALINA_HOME/bin/startup.sh
  3. 我以新创建的用户身份执行了第 2 步
  4. 我以 root 身份执行了第 2 步
  5. 我删除了 tomcat7 用户和组,没有使用相同的安装位置,并且清除了 /Temp/

万一有关系...我已经成功在端口 8888 上运行了 Jenkins。我曾尝试在运行 tomcat 时关闭 Jenkins,但没有什么区别。

我显然遗漏了一些基本的东西。我遗漏了某个地方的某个过时的工作目录吗?我不认为这是防火墙问题,因为当 tomcat 进程运行时,即使是“curl localhost:8080”也会无限期挂起。我在自己的笔记本电脑上完全按照“我尝试过的步骤 2”中所述设置了 tomcat,并且它运行起来没有任何问题,所以在我看来,我做了一些事情来弄乱我的 VPS 实例中的某些东西,我不知道这可能是什么。很抱歉写了这么长,我对这个问题很困惑,我不知道哪些可能是相关信息,哪些不是。任何见解都非常感谢。

相关内容