Luc*_*cio 9 server permissions tomcat tomcat7
我按照Ubuntu 指南安装了 Tomcat 7 。服务器正在工作,并给我“它有效!” 页上http://localhost:8080/。
现在我想使用 Netbeans 设置我自己的 webapp。我使用 Java EE 6 和 Tomcat 7生成了一个新的Web 项目。用户在/var/lib/tomcat7/conf/tomcat-users.xml正确配置的文件上。
当我运行项目时,一切似乎都正常,但是当我打开浏览器时,它显示500 error。
文件权限:
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
Run Code Online (Sandbox Code Playgroud)
我不明白为什么无法访问文件,您可以看到用户和组tomcat7对文件具有权限。是否有 JVM 用户需要对文件的权限?
我还尝试更改此处提到的文件所有权,但它根本没有改变。
该/etc/default/tomcat7文件有:
TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7
Run Code Online (Sandbox Code Playgroud)
所以我猜它是以tomcat7用户身份运行的。
我将我的用户添加到tomcat7组中:
sudo usermod -aG tomcat7 $USER
Run Code Online (Sandbox Code Playgroud)
然后重启机器,问题依旧。
Kaz*_*lfe 10
我注意到这里有两个问题。
错误日志中的两行对我来说很突出:
SEVERE: Cannot find specified temporary folder at /var/lib/tomcat7/temp
Run Code Online (Sandbox Code Playgroud)
和:
java.io.FileNotFoundException: /var/lib/tomcat7/conf/tomcat-users.xml (Permission denied)
Run Code Online (Sandbox Code Playgroud)
对 Lucio 进行了一些诊断,我发现该tomcat-users.xml文件不属于 Tomcat,而是root. 通过运行以下命令将权限更改为正确的权限:
sudo chown tomcat7:tomcat7 /var/lib/tomcat7/conf/tomcat-users.xml
Run Code Online (Sandbox Code Playgroud)
另外,创建/var/lib/tomcat7/temp具有 tomcat 权限的文件夹,如下所示:
sudo mkdir /var/lib/tomcat7/temp && sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/temp
Run Code Online (Sandbox Code Playgroud)
最后,修复日志应该/var/lib/tomcat7/logs由tomcat7用户/组拥有。该/var/log/tomcat7/还应所拥有的tomcat7用户和组。
| 归档时间: |
|
| 查看次数: |
52166 次 |
| 最近记录: |