hostname -i 和 /etc/hosts 之间的区别

hostname -i 和 /etc/hosts 之间的区别

长话短说,我和我的同事在尝试让 jconsole 通过远程连接连接到我们的开发箱时遇到了麻烦(尽管对我来说,开发箱在我的网络上)

基本上我们发现了以下指南

因此,在调试模式下启动 jconsole(从终端输入 jconsole -debug)。如果您看到本地(从服务器角度)ip(例如 127.0.1.1),则必须进入服务器,键入 hostname -i 并查看服务器如何解析主机名(例如 127.0.1.1)。然后,您必须更改 etc/hosts 文件中将服务器主机名转换为本地 ip(127.0.1.1)的行。您可以删除该行并使用 DNS 或插入服务器 ip。

当我们检查时,发现中的值/etc/hosts与的值不同hostname -i- 这是正确的吗?如果不正确,是否应该/etc/hosts进行修改以反映hostname -i

谢谢

答案1

他们告诉您使用主机的实际 IP 地址,而不是分配给主机名 (127.0.1.1) 或本地主机 (127.0.0.1) 的环回地址。如果您的盒子 IP 是 192.168.5.5,您应将其放入 hosts 文件中。如果您的网络动态分配 IP 地址,请使用盒子的 DNS 名称,这样即使 IP 分配发生变化,它也能自动解析。

因此假设你的盒子名为'BOX1'并且它的 IP 是 192.168.5.5 你的 hosts 文件中会有一行如下内容:

192.168.5.5     BOX1

或者您可以忽略所有这些,只需删除将 BOX1 映射到 127.0.0.1 的行,但这可能会干扰其他应用程序。

相关内容