我使用apt-get install tomcat6在Ubuntu 9.04服务器上安装了Tomcat6。 我使用pipe理器界面上传了一个WAR,并试图启动该应用程序,但在Web界面上发现一个非常普遍的错误,称它无法启动。
我试图find日志,以确定为什么我的战争不会开始(我怀疑低记忆,因为我在一个小的VPS),但我不知道他们在哪里。
/ var / lib / tomcat6 / logs是空的。 我的Tomcat醒目页面可靠地告诉我以下;
Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 CATALINA_BASE in /var/lib/tomcat6, following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.
UPDATE
我试着跑步;
$ ps -ax /usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid
但是/ var / log / syslog中没有任何内容
也跑
$ losof -p PID
没有显示任何日志文件…
$ for PID in $(pgrep jsvc);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done l-wx------ 1 root 500 64 2010-03-30 13:29 1 -> pipe:[301470406] lrwx------ 1 root 500 64 2010-03-30 13:29 1 -> /dev/null l-wx------ 1 root root 64 2010-03-30 13:29 1 -> pipe:[301470406]
谢谢,
GAV
这个讨论很晚,但是看起来tomcat5.5和tomcat6中的03catalina.policy文件实际上并不允许写日志文件。
最简单的解决scheme是将JULI权限更改为:
// These permissions apply to JULI grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.security.AllPermission; };
显然,我可能并没有意识到安全问题,但是我真的不能再深究了 – 我自己花了太长时间。
一个简单的技巧是运行命令“ lsof -p PID
”,其中PID是您的tomcat服务器的进程ID。 这个命令会给你一个进程打开的所有文件的列表,包括日志文件。 请参阅Wikipedia页面 。
默认检查
/var/log/tomcat6/catalina.out
或类似的东西
并检查日志logging属性
/usr/share/tomcat6/conf/logging.properties
通常是/ usr / share / tomcat6 / conf /是符号链接到/ etc / tomcat6 /
他们应该在CATALINA_HOME/logs
我经常在/opt/tomcat/logs
看到它,但在你的情况下它可能是/usr/share/logs
默认情况下,Tomcat日志在/var/log/tomcat?
和/var/lib/tomcat7/logs
通常指向那里。
作为root
,你可以检查他们:
tail -f /var/log/tomcat7/*.log /var/log/tomcat7/*.txt /var/log/tomcat7/*.out
如果您仍有任何问题,请尝试通过以下方式find它们:
sudo lsof | grep -E "java.*(out|txt|log)$"