我运行一台装有 Debian 7(Wheezy)的服务器并全新安装 tomcat7。
当我尝试从 init.d 启动 tomcat 服务或使用服务命令时,出现以下错误:
[FAIL] Starting Tomcat servlet engine: tomcat7 failed!
让我抓狂的是,日志(catalina.out)完全是空的,因此我无法真正解决这个问题。
有任何想法吗?
答案1
我遇到了具有同样症状的问题。
$ sudo service tomcat7 start
* Starting Tomcat servlet engine tomcat7
...fail!
$
什么都没有,catalina.out
系统日志也什么都没有。通过从命令行转到/usr/share/tomcat./bin
并运行startup.sh
文件,可以简化查找问题的过程,这会显示错误。在我的例子中,是缺少引号导致setenv.sh
bash 在启动时出错。
答案2
问题被发现在“catalina”配置文件中,该文件在“group”中没有读取权限。这应该不会超过五分钟,但由于根本没有日志,因此花了很多时间来排除故障。顺便说一句,仍然没有日志,我还没能找出原因。
catalina 文件获取错误权限的原因是我使用了 salstack 框架(http://saltstack.com) 设置服务器,但在其中一个“状态”(指示设置如何进行的文件)中,我给出了错误的权限。
我缩小了问题范围,因为当我重新安装 tomcat7 时它运行正常,而当我使用 saltstack 框架工具修改配置文件(进而给予错误的权限)时 tomcat 无法运行。