tomcat java.net.BindException: Cannot assign requested address 解决方法

本文记录了一次在线上启动Tomcat时遇到的端口绑定问题,详细解析了错误日志并分享了解决方案,最终发现是因为hosts文件中存在非法字符导致的。

   今天线上TOMCAT启动时遇到了下比较麻烦的问题,错误如下:

21-Apr-2016 15:14:19.077 SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8015]: 
 java.net.BindException: Cannot assign requested address
	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.<init>(ServerSocket.java:237)
	at org.apache.catalina.core.StandardServer.await(StandardServer.java:420)
	at org.apache.catalina.startup.Catalina.await(Catalina.java:717)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:663)
	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:606)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

21-Apr-2016 15:14:19.077 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-80"]
21-Apr-2016 15:14:19.082 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]

  从日志来看一直以为端口占用,认真分析端口占用原因一直没有找到。系统在绑定8015端口的时候,发现TCP8015端口无法创建,因此系统出现await并对应出现了pause,过了预设的超时时间还没有完成我们可以看到tomcat执行了stop的操作,所以很显然,tomcat没有启动成功!

    经过多次排查,发现tomcat在绑定数据的时候是绑定在localhost上面的,查看一下HOST,发现运维改了host文件里面有输入中文的因为符号,一般都看不了来,修改后启动成功了。

127.0.0.1 localhost

转载于:https://www.cnblogs.com/yuanermen/p/5417813.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值