我按照以下方法安装了 Tomcat 7Ubuntu 指南。服务器正在运行并向我提供了“它正常运行!”页面http://localhost:8080/
。
现在我想使用 Netbeans 设置自己的 Web 应用程序。我生成了一个新的Web 项目使用Java EE 6和Tomcat 7。用户对/var/lib/tomcat7/conf/tomcat-users.xml
文件进行了正确的配置。
当我运行项目时一切正常,但当我打开浏览器时它显示500 错误。
文件权限:
lucio@lucio-pc:/$ ll /var/lib/tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/tomcat7/logs -> ../../log/tomcat7/
lucio@lucio-pc:/$ ll /var/log/tomcat7/
total 136
drwxr-x--- 2 tomcat7 adm 4096 ago 28 10:50 ./
drwxrwxr-x 15 root syslog 4096 ago 28 09:29 ../
-rw-r--r-- 1 tomcat7 tomcat7 800 ago 26 17:23 catalina.2014-08-26.log.gz
-rw-r--r-- 1 tomcat7 tomcat7 5173 ago 27 21:59 catalina.2014-08-27.log
-rw-r--r-- 1 tomcat7 tomcat7 31285 ago 28 10:36 catalina.2014-08-28.log
-rw-r--r-- 1 tomcat7 root 44192 ago 28 10:36 catalina.out
-rw-r--r-- 1 tomcat7 tomcat7 45 ago 26 16:19 localhost.2014-08-26.log.gz
-rw-r--r-- 1 tomcat7 tomcat7 0 ago 27 11:15 localhost.2014-08-27.log
-rw-r--r-- 1 tomcat7 tomcat7 433 ago 28 09:49 localhost.2014-08-28.log
-rw-r--r-- 1 tomcat7 tomcat7 7435 ago 26 17:23 localhost_access_log.2014-08-26.txt
-rw-r--r-- 1 tomcat7 tomcat7 0 ago 27 11:15 localhost_access_log.2014-08-27.txt
-rw-r--r-- 1 tomcat7 tomcat7 15186 ago 28 09:58 localhost_access_log.2014-08-28.txt
我不明白为什么无法访问这些文件,您可以看到用户和组tomcat7
对这些文件具有权限。JVM 中是否有需要对这些文件具有权限的用户?
我也尝试过如上所述更改文件所有权这里但它根本没有改变。
这/etc/default/tomcat7
文件有:
TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7
所以我猜它是以tomcat7
用户身份运行。
我将我的用户添加到tomcat7
组中:
sudo usermod -aG tomcat7 $USER
然后重新启动了机器,但问题仍然存在。
答案1
我注意到这里有两个问题。
错误日志中的两行对我来说很突出:
SEVERE: Cannot find specified temporary folder at /var/lib/tomcat7/temp
和:
java.io.FileNotFoundException: /var/lib/tomcat7/conf/tomcat-users.xml (Permission denied)
和卢西奥一起做一些诊断,我发现该tomcat-users.xml
文件不属于 Tomcat,而是root
。通过运行以下命令将权限更改为适当的权限:
sudo chown tomcat7:tomcat7 /var/lib/tomcat7/conf/tomcat-users.xml
另外,创建具有 tomcat 权限的文件夹/var/lib/tomcat7/temp
,如下所示:
sudo mkdir /var/lib/tomcat7/temp && sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/temp
最后,应通过让用户/组/var/lib/tomcat7/logs
拥有来修复日志。还应由用户和组拥有。tomcat7
/var/log/tomcat7/
tomcat7