问题描述
这次我在一台新CentOS服务器中部署服务,在本机安装了数据库,然后启动JAVA服务。结果却出现了下面的错误:
InetAddress.getLocalHost().getHostName() took 500000 milliseconds to respond.
同时,在websocket连接的时候也出现了连接时间过长的问题(大概15秒才能连接上)。
解决方法
这两个现象,可能是DNS的问题。需要修改/etc/hosts文件。
需要将hostname加入到/etc/hosts中。
首先获得服务器的hostname
hostname
接着修改/etc/hosts文件。
vim /etc/hosts
文件内容大概是这样的:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
这里是告诉服务器,如果访问这些地址,就代表访问本机。
127.0.0.1行为IPv4的设置,::1行为IPv6的设置。
将hostname加入到每一行的后面,用空格做分割。
同时也可以加入新一行,写入本机IP和hostname,用于告诉访问的程序本机的IP地址。
127.0.0.1 localhost server-bcce0d4e localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost server-bcce0d4e localhost.localdomain localhost6 localhost6.localdomain6
20.234.101.5 server-bcce0d4e
保存文件后,问题马上就解决了。