java.net.BindException: Cannot assign requested address 错误处理

java.net.BindException: Cannot assign requested address 异常处理
SEVERE: StandardServer.await: create[localhost:8006]: 
java.net.BindException: Cannot assign requested address
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
	at java.net.ServerSocket.bind(ServerSocket.java:328)
	at java.net.ServerSocket.<init>(ServerSocket.java:194)
	at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
	at org.apache.catalina.startup.Catalina.await(Catalina.java:766)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:451)


解决方法:

1.检查localhost的IP配置,配置地址/etc/hosts

确保有127.0.0.1  localhost

2.ip配置 /etc/sysconfig/network-script/ifcfg-lo  (我是用此方法后tomcat顺利启动)

ifconfig -lo 127.0.0.1  (临时有效,重启后又失败)

设置eth0和lo

ifcfg-lo 文件内容:

DEVICE=lo
IPADDR=127.0.0.1
ONBOOT=yes
NAME=loopback

 

ifcfg-eth0文件内容:

DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.116.129
NETMASK=255.0.0.0
GATEWAY=192.168.0.1
ONBOOT=yes
NAME=loopback