Tomcat启动绑定IP失败问题

来源:互联网 发布:13X11怎么算法 编辑:程序博客网 时间:2024/04/29 21:44

  今天把工程迁移到另一个服务器, Tomcat启动报了一个错误:Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: AA:AA(主机名) : Name or service not known


  看错误大概是主机名没找到对应的IP, 原因在与Tomcat启动的时候根据hostname来绑定IP, 但是上述的AA找不到对应的IP。 很多时候默认hostname是为localhost, 已经在hosts文件映射了, 但是其他的hostname只能手动去映射。


  查看etc/hosts, 内容如下:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
新服务器的主机名从命令行 [root@AA /]#  可以看出hostname是AA , 但是主机名AA没映射到127.0.0.1(IPv4)和::1(IPv6), 所以就出现了上述错误。


解决方法

更改为如下内容:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 AA::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 AA
就可以正常启动了。

    

补充阅读:如果要永久修改RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。

上面的解决方法是一种捷径, 其实在查找DNS先查找etc/hosts下的映射, 如果有映射则返回hosts文件的映射IP, 如果没有的话, 根据hostname去DNS查找相应映射IP, 如果DNS查找不到的话很有可能返回127.0.0.1这个本地地址。



  

1 0
原创粉丝点击