Tomcat启动时报错:java.net.BindException: Permission denied <null>:80
2011-11-18 19:26
411 查看
问题起因:做负载均衡时需要将Web工程与Wap工程同时部署在一台Suse服务器上,为方便日后维护,我们分别为Web工程与Wap工程分配了不同的用户进行部署,并且端口使用分别为8080与80,Web工程使用默认8080端口,Tomcat正常启动并能正常访问,Wap工程使用80端口(修改server.xml),Tomcat启动一系列错误(见问题描述)。
问题描述:Tomcat启动时报一系列错误:
[b]问题1:[/b]
[b]问题2:[/b]
原因分析:
问题1:在Suse上只有root用户才可以访问1024以下的端口号,其余用户不能访问。
问题2:服务器上已经存在一个Tomcat,并且该Tomcat占用了8005端口。
解决方案:
问题1:修改Tomcat的server.xml配置文件,将端口修改为8081(或者其他1024以上的端口号,不能与本机上的其它Tomcat端口冲突),然后使用root用户登录服务器,执行端口重定向命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081。意思就是当访问80端口时重定向到8081端口,这样,我们可以改成任何我们需要的端口啦。
问题2:想必大家都很容易解决这样的问题吧,确实,只需要修改server.xml中的8005端口即可,最好将其他端口也同时修改一下,防止出现冲突。
原文:/article/4389772.html
问题描述:Tomcat启动时报一系列错误:
[b]问题1:[/b]
SEVERE: Error starting endpoint java.net.BindException: Permission denied <null>: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:203) at org.apache.catalina.connector.Connector.start(Connector.java:1087) at org.apache.catalina.core.StandardService.start(StandardService.java:534) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
[b]问题2:[/b]
SEVERE: StandardServer.await: create[8005]: java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) at java.net.ServerSocket.bind(ServerSocket.java:328) at java.net.ServerSocket.<init>(ServerSocket.java:194) at org.apache.catalina.core.StandardServer.await(StandardServer.java:373) at org.apache.catalina.startup.Catalina.await(Catalina.java:662) at org.apache.catalina.startup.Catalina.start(Catalina.java:614) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
原因分析:
问题1:在Suse上只有root用户才可以访问1024以下的端口号,其余用户不能访问。
问题2:服务器上已经存在一个Tomcat,并且该Tomcat占用了8005端口。
解决方案:
问题1:修改Tomcat的server.xml配置文件,将端口修改为8081(或者其他1024以上的端口号,不能与本机上的其它Tomcat端口冲突),然后使用root用户登录服务器,执行端口重定向命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081。意思就是当访问80端口时重定向到8081端口,这样,我们可以改成任何我们需要的端口啦。
问题2:想必大家都很容易解决这样的问题吧,确实,只需要修改server.xml中的8005端口即可,最好将其他端口也同时修改一下,防止出现冲突。
原文:/article/4389772.html
相关文章推荐
- Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】
- Tomcat启动时报错:java.net.BindException: Permission denied <null>:80
- linux中tomcat启动错误:java.net.BindException: Permission denied <null>:80
- 解决mac os x下 tomcat启动报 java.net.BindException: Permission denied <null>:80 错误
- tomcat启动报错:java.net.BindException: Permission denied <null>:80
- tomcat报:java.net.BindException: Permission denied <null>:80
- 【腾讯云开发中的坑1】java.net.BindException: Permission denied <null>:443
- linux中tomcat启动错误:java.net.BindException: address already in use <null>:8443
- tomcat启动报错:java.net.BindException: Address already in use: JVM_Bind<null>:8080
- 项目启动失败,报错:java.net.BindException:Address already in use : JVM_Bind <null>:8081
- Tomcat端口被占用解决方法: java.net.BindException: Address already in use: JVM_Bind <null>:8082
- tomcat启动在80端口 Permission denied <null>:80
- 运行工程 java.net.BindException: Address already in use: JVM_Bind <null>:8080
- 运行时报错:java.net.BindException: Address already in use: JVM_Bind <null>:8080 (或8009或8005)
- java.net.BindException: Address already in use: JVM_Bind <null>:8080
- 刚安装的tomcat在 myeclipse中第一次启动时报错:Address already in use: JVM_Bind<null>:8080
- java.net.BindException: Address already in use: JVM_Bind <null>:8080
- java.net.BindException: Address already in use: JVM_Bind <null>:1099
- tomcat启动时错误java.net.BindException: Address already in use: JVM_Bind:80
- java.net.BindException: Address already in use: JVM_Bind <null>:8080