使用系统hosts文件进行域名解析

2022-06-02 18:02:29 浏览数 (1)

hosts文件用于将域名(主机名)映射到IP地址。它在所有操作系统(包括Linux,Windows和macOS)都是一个纯文本文件。hosts文件允许你设置指定映射域名的IP地址。这个更改只作用于当前计算机,而不会影响全域网的解析方式。

hosts文件优先于DNS。当你键入要访问的网站的域名时,必须将域名转换为其对应的IP地址。操作系统首先检查其hosts文件中是否存在相应的域名,如果该域名没有条目,它将查询配置的DNS服务器以解析指定的域名。

如果你想在不更改域DNS设置的情况下测试你的网站,这将非常有用。例如,你要将网站迁移到新服务器,并且希望在将域指向新服务器之前验证它是否完全正常运行。hosts文件还可用于阻止计算机上的网站。

在本文中,我们将提供有关如何在Linux,macOS和Windows上修改hosts文件的说明。

主机文件格式

hosts文件中的条目具有以下格式:

代码语言:javascript复制
IPAddress DomainName [DomainAliases]

IP地址和域名应至少由一个空格或制表符分隔。以#开头的行是被忽略的。

要向hosts文件添加条目,只需在文本编辑器中打开该文件即可。下面是一个示例主机文件:

代码语言:javascript复制
# Static table lookup for hostnames.
# See hosts(5) for details.

127.0.0.1 rumenz.com rumenz
127.0.0.1 localhost

主机文件更改会立即生效,除非应用程序缓存DNS解释结果。

这个时候我们就可以在浏览器地址栏输入rumenz.com 或 rumenz访问我们在本机部署的网站程序。

在Linux中修改hosts文件

在Linux中,hosts文件位于:/etc/hosts。以下说明适用于Linux所有发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint。

在终端窗口中,使用你喜欢的文本编辑器打开hosts文件:

sudo vim /etc/hosts

出现提示你的sudo密码。

在Windows中修改hosts文件

在Windows中,hosts文件位于:

代码语言:javascript复制
c:WindowsSystem32Driversetchosts

。以下说明适用于Windows 10和Windows 8。

  • 按Windows键并在搜索字段中键入记事本。
  • 右键单击“记事本”图标,然后选择“以管理员身份运行”。
  • 在记事本中,单击文件,然后单击打开。在“文件名”字段中,粘贴
代码语言:javascript复制
c:WindowsSystem32driversetchosts

127.0.0.1 rumenz.com rumenz
127.0.0.1 localhost
  • 向下滚动到文件末尾并添加新条目:
  • 单击File> 保存更改Save

修改macOS中的hosts文件

在macOS中,hosts文件位于:/etc/hosts。以下说明适用于所有macOS版本。

在终端窗口中,使用你喜欢的文本编辑器打开hosts文件:

代码语言:javascript复制
sudo vim /etc/hosts

127.0.0.1 rumenz.com rumenz
127.0.0.1 localhost

出现提示时输入管理密码。

代码语言:javascript复制
dscacheutil -flushcache

0 人点赞