Ubuntu
我的 Tomcat 日誌在哪裡?
我使用 apt-get install tomcat6 在 Ubuntu 9.04 伺服器上安裝了 Tomcat6。我使用管理器界面上傳了一個 WAR 並嘗試啟動應用程序,但在 Web 界面上收到一個非常一般的錯誤,說它無法啟動。
我正在嘗試查找日誌以確定為什麼我的戰爭不會開始(我懷疑記憶體不足,因為我在一個小型 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.
更新
我試著跑步;
$ 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]
謝謝,
加夫
這次討論很晚,但似乎 tomcat5.5 和 tomcat6 中的 03catalina.policy 文件實際上不允許寫入日誌文件。
最簡單的解決方案是將 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。此命令將為您提供程序打開的所有文件的列表,包括日誌文件。請參閱維基百科頁面。