Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】

本文转载自: http://blog.sina.com.cn/s/blog_4550f3ca0101g37l.html

问题起因:做负载均衡时需要将Web工程与Wap工程同时部署在一台Suse服务器上,为方便日后维护,我们分别为Web工程与Wap工程分配了不同的用户进行部署,并且端口使用分别为8080与80,Web工程使用默认8080端口,Tomcat正常启动并能正常访问,Wap工程使用80端口(修改server.xml),Tomcat启动一系列错误(见问题描述)。

问题描述:Tomcat启动时报一系列错误:

问题1: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: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)

问题2: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.(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端口即可,最好将其他端口也同时修改一下,防止出现冲突。

Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】

时间: 2024-09-29 20:07:57

Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】的相关文章

Tomcat 启动报错 java.net.BindException: Permission denied :80

Tomcat一启动就报如下错误: Caused by: java.net.BindException: Permission denied <null>:80 at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:410) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640) at org.apache.coyote.

tomcat启动报错:java.net.BindException: Permission denied &lt;null&gt;:80

1,启动报错显示 [org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 ms Jun 01, 2015 6:39:06 PM org.apache.coyote.http11.Http11Protocol start SEVERE: Error starting endpoint java.net.BindException:

解决mac os x下 tomcat启动报 java.net.BindException: Permission denied &lt;null&gt;:80 错误

我在mac os x上启动tomcat的时候,报 java.net.BindException: Permission denied <null>:80,java.net.BindException: Permission denied <null>:443错误,443时因为我要弃用ssl服务. Mac OS X 因为要绑定1024以下的端口需要ROOT权限, 但是如果用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除. 为此

Tomcat启动报错java.net.AbstractPlainSocketImpl(java/net/AbstractPlainSocketImpl.java:178:-1)Struts在网络复杂情况下启动报错解决办法

SSH项目 在网络复杂的情况(具体规律未知)下,Tomcat启动时,报如下错误: [ERROR] 2014-08-12 14:52:58,484 [org.apache.struts2.dispatcher.Dispatcher :27] - Dispatcher initialization failedUnable to load configuration. - Class: java.net.AbstractPlainSocketImplFile: AbstractPlainSocket

idea中tomcat启动时报错

之前的项目是用MyEclipse 10 写的项目,之后转移到idea上去,各种配置都弄好后,部署好tomcat启动项目时报错: java.lang.UnsatisfiedLinkError: Can't load AMD 64-bit .dll on a IA 32-bit' platform   从错误信息中大致可以知道是跟计算机的32位和64位相关的问题,后面查阅资料之后知道是jdk和tomcat冲突了,应该是一个是32位一个是64位所以会显示这个错误 可是在cmd中输入java -vers

Tomcat启动时报错:java.net.UnknownHostException

异常信息如下: INFO: Failed to get local InetAddress for VMID. This is unlikely to matter. At all. We'll add some extra randomness java.net.UnknownHostException: ran-oam: ran-oam: Name or service not known at java.net.InetAddress.getLocalHost(InetAddress.ja

Tomcat启动报错java.lang.ClassNotFoundException: javax.el.ExpressionFactory

严重: Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0': Invocation of init method failed; nested exception

weblogic启动时报错 java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域.这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果APP会LOAD很多CLASS的话,就很可能出现PermGen space错误. 解决方法: 参考解决方法: 1.Incre

Tomcat启动时报错,Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext

解决方法: 修改tomcat配置文件catalina.properties 1 tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ 值后面加",*" 原文地址:https://www.cnblogs.com/hl15/p/10658333.html