hosts文件用于將域名(主機名)映射到IP地址。它在所有操作系統(包括linux,windows和macOS)都是一個純文本文件。hosts文件允許你設置指定映射域名的IP地址。這個更改只作用于當前計算機,而不會影響全域網的解析方式。
hosts文件優先于DNS。當你鍵入要訪問的網站的域名時,必須將域名轉換為其對應的IP地址。操作系統首先檢查其hosts文件中是否存在相應的域名,如果該域名沒有條目,它將查詢配置的DNS服務器以解析指定的域名。
如果你想在不更改域DNS設置的情況下測試你的網站,這將非常有用。例如,你要將網站遷移到新服務器,并且希望在將域指向新服務器之前驗證它是否完全正常運行。hosts文件還可用于阻止計算機上的網站。
在本文中,我們將提供有關如何在Linux,macOS和Windows上修改hosts文件的說明。
- 主機文件格式
hosts文件中的條目具有以下格式:
IPAddress DomainName [DomainAliases]
IP地址和域名應至少由一個空格或制表符分隔。以#開頭的行是被忽略的。
要向hosts文件添加條目,只需在文本編輯器中打開該文件即可。下面是一個示例主機文件:
# 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文件位于:
c:WindowsSystem32Driversetchosts
。以下說明適用于Windows 10和Windows 8。
按Windows鍵并在搜索字段中鍵入記事本。
右鍵單擊“記事本”圖標,然后選擇“以管理員身份運行”。
在記事本中,單擊文件,然后單擊打開。在“文件名”字段中,粘貼
c:WindowsSystem32driversetchosts
127.0.0.1 rumenz.com rumenz
127.0.0.1 localhost
向下滾動到文件末尾并添加新條目:
單擊File> 保存更改Save
- 修改macOS中的hosts文件
在macOS中,hosts文件位于:/etc/hosts。以下說明適用于所有macOS版本。
在終端窗口中,使用你喜歡的文本編輯器打開hosts文件:
sudo vim /etc/hosts
127.0.0.1 rumenz.com rumenz
127.0.0.1 localhost
出現提示時輸入管理密碼。
dscacheutil -flushcache