我正在尝试将.war项目部署到我的tomcat7安装中。
在复制之前,我停止服务器,将war复制到/var/lib/tomcat7 7/webapp,然后在复制后重新启动服务器。
当服务器启动时,内容被复制到它自己的目录中,但是当我试图从浏览器访问它时,我得到了404状态。
其他war文件可以工作,在Eclipse中使用这个war文件时也能工作,所以我不知道问题出在哪里。
我正在使用Ubuntu12.04和Tomcat7。
发布于 2014-03-13 00:28:08
从注释中可以看出,当您获得对临时文件的“拒绝权限”时,这个IMHO通常会显示您已将tomcat作为一个不同的用户启动--通常情况下,您首先以root身份启动tomcat (将所有临时文件创建为root),然后作为一个没有特权的用户(不能覆盖临时文件)。
从技术上讲,当您再次以根用户身份运行时,问题可能会消失,然而,这是一个安全隐患,您应该这样做,只有当您想要测试的效果。正确的方法是修复临时文件的权限,然后不再以根用户身份运行。
一个很好的方法(特别是如果您以守护进程/服务的形式运行)是让启动脚本自动设置临时目录、工作目录和日志目录上所需的所有者/权限(可能更多,您必须尝试),然后断言tomcat是作为该所有者启动的。启动守护进程通常是以根用户身份完成的,因此启动脚本可能具有正确的权限来完成所有这些操作:chown
、chmod
和su
是您的朋友。
在/etc/init.d/tomcat (在ubuntu上)中,一个非常简单的tomcat启动脚本看起来如下(user: tomcat,location: /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 service tomcat restart
(例如),不再需要注意适当的权限
https://stackoverflow.com/questions/22363694
复制相似问题