今天项目部署上线,老大跟我建议说不要使用root用户部署,试用普通用户运行。刚开始没想什么,后来部署的时候碰到各种权限问题。
记录一下,以防忘记了。
1.使用普通用户启动失败。
首先不用想就去$TOMCAT_HOME/logs/catalina.out 查看日志
错误:java.net.BindException: Permission denied <null>:80,..... Caused by: java.net.BindException: Permission denied
原因:由于非root用户无法使用1024以内的端口,所以启动报权限拒绝错误。
解决方法:
1、修改端口,换一个1024以上的端口。
2、继续使用端口80启动,还是需要更换启动端口,之后通过iptables命令对端口进行重定向。 需要使用root用户。
iptabnles -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8989
2.启动成功后访问jsp页面无法找到
以为启动失败了,可以访问接口是正常的。后来通过百度查了下,是权限问题。
原因:启动tomcat的用户, 没有tomcat目录的所有者权限。jsp页面无法解析到work目录导致。
解决:
1.切换root用户
2.chown -R backproc $TOMCAT_HOME
3. 对www目录赋权,防止意外。
chown -R backproc $WWW_HOME
以上是今天部署tomcat碰到的问题,有错误的地方请朋友指出。谢谢。。。