从注释来看,当您在临时文件上获得“权限被拒绝”时,这个IMHO通常表明您以不同的用户身份启动了tomcat--通常情况下,当您首先以root用户身份启动tomcat(以root用户身份创建所有临时文件),然后以非特权用户身份启动tomcat(无法覆盖临时文件)时就会发生这种情况。
从技术上讲,当您再次以root用户身份运行时,问题可能会消失,然而,这是一个安全隐患,只有当您想测试效果时才应该这样做。正确的方法是修复临时文件的权限,然后再也不以root用户身份运行。
这样做的一个好方法(特别是当您作为守护进程/服务运行时)是让启动脚本自动设置temp、work和log目录上所需的所有者/权限(可能更多,您必须尝试),然后断言tomcat是作为该所有者启动的。启动守护进程通常是以root用户的身份完成的,因此启动脚本可能具有完成所有这些操作的正确权限:chown
、chmod
和su
是您的朋友。
/etc/init.d/tomcat(在ubuntu上)中的一个非常简单的tomcat启动脚本如下所示(用户:tomcat,位置:/opt/tomcat):
# Tomcat auto-start
#
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $apache2
# Required-Stop: $apache2
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop tomcat server
### END INIT INFO
export JAVA_HOME=/usr/lib/jvm/default-java
cd /opt/tomcat
chown -R tomcat webapps conf temp logs work
case $1 in
start)
sudo -u tomcat /opt/tomcat/bin/startup.sh
;;
stop)
sudo -u tomcat /opt/tomcat/bin/shutdown.sh
;;
restart)
sudo -u tomcat /opt/tomcat/bin/shutdown.sh
sudo -u tomcat /opt/tomcat/bin/startup.sh
;;
esac
exit 0
这样,我就可以执行Sudo服务tomcat重启
(例如),并且不再需要关注正确的权限
我在netbean中创建了一个maven web项目,当我在IDE中启动它时,它运行良好,但是当我在glass乐于服务器中部署这个项目时,我有一个错误。部署创建战争文件,并使用此命令 这和我得到的错误
知道如何在变化时重新部署html和jsp吗?
我有一个EC2实例在新加坡地区运行AMI:ElasticBeanstek-Tomcat7-64bit-201208231200(ami-0cdc9d5e),我正在尝试在其中部署一个war文件。我遵循的步骤是: 复制了 /opt/tomcat7/webapps文件夹中的war文件 将war文件的所有者更改为tomcat7 将war文件的权限更改为777 启动tomcat7服务器 我已经配置了安全组,
我正在Java web应用程序中使用。现在,我可以使用命令运行我的web服务器。最近我注意到https://tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/plugin-info.html中有一个名为的命令,它说: tomcat7:run: 使用嵌入式Tomcat服务器将当前项目作为动态web应用程序运行。 tomcat7:run-w
我有一个maven web项目,要求我包含一些第三方jar(网上没有),所以我用 我面临的问题是当我运行maven干净安装时生成的war文件不包括第3方jar。搜索后,我找到了一个解决方案,我将jar复制到lib文件夹(在项目根目录下创建)中,然后我在Pom文件中使用了以下片段 jar现在从我的lib文件夹复制到生成的war文件中的WEB-INF/lib/中。但当我运行服务时,我得到了类not f
我需要在tomcat7部署战争文件...到目前为止我所做的是1。安装Tomcat7-启动并运行。能够看到索引页2。安装apache2-up并运行.成功地将80重定向到tomcat的8080端口。所有请求都被重定向到tomcat。3.现在我需要部署战争文件。 我的战争没有被发现,也没有扩大。没有日志。。未创建“mycompany”目录。 我检查了我的server.xml下面是代码 我错过了什么吗。。