CentOS5.3 64位系統Tomcat6.0無法啟動,提示:java.net.BindException: Cannot assign requested address
這個錯誤如果從沒見過,絕對會浪費大家好多時間去查找,而且網上千篇文章都沒有一個真正的解決辦法!歡迎請大家轉載!!
新服務器配置tomcat6.0環境,配置完畢後,無法正常啟動。報錯如下:shutdown 端口看似被占用,但是換成其他端口還是無法啟動;
2010-11-13 10:16:06 org.apache.catalina.core.StandardServer await
嚴重: StandardServer.await: create[8001]:
java.net.BindException: Cannot assign requested address
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket. (Unknown Source)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
at org.apache.catalina.startup.Catalina.await(Catalina.java:647)
at org.apache.catalina.startup.Catalina.start(Catalina.java:607)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
表面上看是綁定8001端口失敗,服務器卻只起了一個新的tomcat,換了台剛裝好系統的服務器同樣操作下正常啟動,正常啟動下端口綁定的狀態如下:
[root@send ~]#netstat -ntl
tcp 0 0 127.0.0.1:8001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8010 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN
8081和8010是綁定在0.0.0.0上,由日志可以看到是綁定成功的。8001是綁定到127.0.0.1上,這個綁定操作失敗估計是生產機的127.0.0.1的相關配置變動導致。
看了下/etc/hosts內容有改過:
127.0.0.1 send.wgk.com
嘗試改回默認狀態,啟動成功:
127.0.0.1 localhost.localdomain localhost 或者改成下面兩條:
127.0.0.1 localhost.localdomain localhost
127.0.0.1 send.wgk.com
本文出自 “煙雨樓台” 博客,請務必保留此出處http://wgkgood.blog.51cto.com/1192594/425710