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

Tomcat一启动就报如下错误:

Caused by: java.net.BindException: Permission denied :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.AbstractProtocol.init(AbstractProtocol.java:434)
    at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
    ... 13 more

造成原因:在linux系统上只有root用户才可以访问1024以下的端口号,其余用户不能访问。

解决方法1:

在启动Tomcat时,使用sudo ./startup.sh或使用root用户启动

解决方法2:

修改Tomcat的server.xml配置文件,

将端口修改为8081(或者其它1024以上的端口号,但不能与本机上的其它端口冲突),

然后使用root用户登录服务器,执行端口重定向命令:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081

(当访问80端口时重定向到8081端口)。

猜你喜欢

转载自blog.csdn.net/y41992910/article/details/90210577