tomcat出现报错问题
程序员文章站
2022-04-12 21:13:29
前段时间遇到一个情况,官网的服务器reboot之后,发现输入官网连接打不开了,最后去查了一下日志发现:tomcat报权限不够的错误,如下:
服务器重启后,tomcat报错:
SEVER...
前段时间遇到一个情况,官网的服务器reboot之后,发现输入官网连接打不开了,最后去查了一下日志发现:tomcat报权限不够的错误,如下:
服务器重启后,tomcat报错:
SEVERE: Error starting endpoint java.net.BindException: Permission denied :80 at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549) at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:565) at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:207) at org.apache.catalina.connector.Connector.start(Connector.java:1196) at org.apache.catalina.core.StandardService.start(StandardService.java:540) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.net.BindException: Permission denied at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376) at java.net.ServerSocket.bind(ServerSocket.java:376) at java.net.ServerSocket.(ServerSocket.java:237) at java.net.ServerSocket.(ServerSocket.java:181) at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50) at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538) ... 12 more
原因:
通过查找了一些子列发现是因为 Linux 下的权限系统限制导致普通用户无法用80端口, 只有root用户才可访问1024以下的端口。
解决方案:
解决方法1:
在启动Tomcat时,使用sudo ./startup.sh或使用root用户启动
解决方法2:
1、将 server.xml 中已修改的 80 端口重新改为 8081(或者其它1024以上的端口号,但与本机上的其它端口不冲突)。如:
2、在Linux下执行:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081
将80端口映射至8081, 达到我们直接输入域名而不带端口号的目的
推荐阅读
-
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
-
VS2008 安装出现的问题和解决办法集合
-
解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题
-
程序异常退出是什么原因(0x40000015装系统出现c报错)
-
java中tomcat的80端口被占用问题解决
-
java代码关闭tomcat程序及出现问题解析
-
python学习笔记之调用eval函数出现invalid syntax错误问题
-
如何解决在jsp页面上导入.xls文件报错问题
-
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
-
jquery库或JS文件在eclipse下报错问题解决方法