前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >异常解决——Tomcat启动异常:Cannot assign requested address

异常解决——Tomcat启动异常:Cannot assign requested address

作者头像
执笔记忆的空白
发布2022-01-05 21:39:55
1.3K0
发布2022-01-05 21:39:55
举报
文章被收录于专栏:Java日常Java日常

异常分析:

tomcat启动的时候报错,提示无法使用8005端口,因为使用的默认端口,tomcat的8005端口是用来停止服务的。

因为是内网,无法放图,我只能把异常信息打印出来了:java.net.BindException: Cannot assign requested address(Bind failed)

问题原因:

可能出现问题的原因:

1、8005端口确实被占用了

2、socket大量创建,并没有被回收,具体参考:参考

3、服务器/etc/hosts 文件的localhost配置不是本机ip 或者不是 127.0.0.1 ,具体可以参考:参考

解决方案:

1、当怀疑是8005端口被占用的时候,我用root用户查看端口情况,如果发现被占用,则可以根据实际情况决定是更换tomcat 8005端口为其他端口还是kill掉占用端口的进程。具体命令如下:

代码语言:javascript
复制
netstat -lnp|grep 8005

这里我发现端口并没有被占用,而且我更改tomcat的conf目录下的server.xml文件,更改8005端口为6667端口,结果启动的时候还是提示6667端口无法使用。

2、当第一种解决不了的时候,我利用原因2的参考资料进行了socket回收:

代码语言:javascript
复制
sysctl -w net.ipv4.tcp_tw_recycle=1;

结果发现并不是这个原因

3、突然想到最近迁移了服务器,服务器IP都进行了更换,会不会有可能/etc/hosts的localhost映射的ip没进行更换。

所以直接

代码语言:javascript
复制
vim  /etc/hosts 

找到对应设置localdomain4的ip,更换成服务器更改后的ip , 重启服务器

代码语言:javascript
复制
reboot

重启服务器后,再重新启动tomcat,问题解决!

这里还应该注意看看 /etc/sysconfig/network-scripts/ 目录下的ifcfg-eth0 或者 ifcfg-lo文件的IP配置是否正确!

注意事项

一切操作以root用户操作。否则没权限!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 异常分析:
  • 问题原因:
  • 解决方案:
  • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档