ouzhoudijie 发表于 2015-8-10 07:44:30

Linux系统使用ROOT用户启动tomcat报错的问题

最近给其它开发人员安装了tomcat,配合他们测试web-services,当时安装默认用root,用root启动平常没有任何问题,最近考虑安全问题,修改成用一个普通用户启动,但是启动系统报错!

http://hiphotos.baidu.com/cc37du/pic/item/c3514fe94a185677b80e2dc7.jpg

上面可以看到,非root用户其实没有绑定80端口的权限。在Linux下低于1024的端口是root专用,而Tomcat安装后默认使用用户 tomcat启动的,所以将端口改为80后启动,会产生错误:java.net.BindException: Permission denied:80

解决方法是(两种):
1.修改应用的端口,考虑部署的应用较多,放弃这个相当简单的办法.
2.Iptables端口转发功能
第一步,重将Tomcat的端口(server.xml)由80改回8080。
第二步,通过Iptables端口实现80到8080的转发,命令为:
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 
这样,用户访问80端口和8080端口其实都到了8080端口。


页: [1]
查看完整版本: Linux系统使用ROOT用户启动tomcat报错的问题