/etc/hosts 中是否需要与主机名匹配的条目?

/etc/hosts 中是否需要与主机名匹配的条目?

我正在安装一个 Tomcat webapp,它一直无法工作,直到我偶然发现其他人使用不相关产品时出现的问题。解决方案是将机器的名称添加到 /etc/hosts,以匹配 hostname 返回的名称。这对于一般的 Linux 网络正常运行是否必不可少?

我的 webapp 在虚拟机中运行,这样我就可以测试 webapp,而且我通常不会费心处理虚拟机上的 /etc/hosts 文件。我只是挥舞着拳头,咒骂 Tomcat 和 webapp 的行为。我读到/etc/hosts、/etc/sysconfig/network 和主机名?,但并未说明是否需要它。

答案1

如果 DNS 无法将系统的主机名解析为 IP,则可能会出现问题,具体取决于配置方式 — 除非您手动将条目添加到/etc/hosts。这似乎就是其中一种情况。相反的情况也适用于一些情况也是如此。

添加这样的条目通常被认为是一种很好的做法/etc/hosts— — 事实上,大多数 Unixish 操作系统倾向于在其初始配置中为您执行此操作(或者,如果您使用 DHCP,则在获得租约时)。

答案2

我认为它是必需的,但在某些情况下,即使没有正确指定也可以解决问题,但在其他情况下,您会发现一些无法正常工作的问题。我隐约记得 Apache 存在问题,而且我发现 Tomcat 也存在问题。

如果守护进程尝试引用或解析本地主机名但未指定,则将失败。例如,主机名是 SMTP 不可或缺的部分。

相关内容