非root用户开启tomcat报错Permission denied

开启tomcat失败,报错提示 Permission denied 报错信息如下:

Caused by: java.net.SocketException: Permission denied
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1082)
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:267)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581)
        at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:66)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:993)

原因是在Centos7 中,非root用户不能开启1024以下的端口。比如我用twilight用户开启tomcat,就会报错。解决方法是通过iptables防火墙重定向端口,将80端口重定向到8080端口上去。
在Centos7中,默认的防火墙是 firewalld 需要先挂关闭它,再使用iptables防火墙。

关闭firewall防火墙
systemctl stop firewalld.service
关闭firewall开机自启
systemctl disable firewalld.service

接着安装iptables

yum install iptables-services

开放端口:

// 查看现有的iptables 规则
iptables -L -n

// 开放端口,临时的,重启会失效
iptables -I OUTPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

将80 端口 重定向到8080

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

永久保存iptable配置

// 保存
iptables-save > /etc/sysconfig/iptables

firewall

开启端口,永久生效

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新载入

firewall-cmd --reload

查看已经打开的端口

firewall-cmd --zone=public --list-ports

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值