主機名是網絡上的服務器、計算機或設備的名稱。可能存在需要更改主機名的業務場景。您還可以問自己為什麼需要更改主機名。大多數情況下,這是由於域名更改、業務路線更改或只是想更好的事情。
有時您忘記在域名到期前更新您的域名。結果,域名經紀人從您那裡購買了域名。域名經紀人購買流行的網站名稱來持有域名,直到買家支付高價。
我們已經匯總了在 Ubuntu 16.04 中更改主機名的步驟,無論您為什麼需要更改它。但是,在進入這些步驟之前,需要了解一些重要的術語和概念。
什麼是完全限定域名 (FQDN)?
完全限定域名 (FQDN) 是一個域名,表明其在域名系統 (DNS) 層次結構中的確切位置。 我們建議使用 FQDN 作為主機名。
使用 FQDN 的原因
FQDN 有助於提高域安全性、DNS 可預測性並減少延遲。
提高安全性
使用安全套接字層 (SSL) 證書保護您的域和主機名。 SSL 通過安全超文本傳輸協議 (HTTPS) 提供安全連接,並為 Web 瀏覽會話提供加密和身份驗證。
DNS 可預測性
在您註冊的域中使用主機名允許您添加相應的 DNS 條目,這可以防止某些使用該主機名的服務出現意外行為。此外,使用您註冊的域名作為主機名允許您設置反向 DNS 條目,這對於電子郵件驗證等服務至關重要。
例如,服務器當前用於減少電子郵件欺騙事件的預防措施之一是反向 DNS 查找。發送電子郵件時,接收服務器會反向查找發件人的主機名。反向查找允許收件人的服務器驗證主機名是否解析為匹配的 IP 地址。
減少延遲
此外,使用您自己的域名可以節省您的編輯時間。您可能有一個腳本調用服務器的 IP 而不是主機名並正確執行。最佳實踐是使用主機名,因為 IP 地址/範圍可能會在未來的遷移中發生變化。使用主機名最終可以為您節省大量時間,具體取決於您的基礎架構和編碼。
使用 SSH 更改主機名
要在 Ubuntu 16.04 中更改服務器主機名,您需要連接到服務器。 使用 Secure Shell (SSH) 訪問您的服務器並發出本文中的命令。 SSH 是一個強大的工具,可讓您建立與服務器的安全連接、幫助診斷問題和發出遠程命令。
有多種使用 SSH 的方法,具體取決於您的操作系統。下面是一些示例,後面是指向更多信息的鏈接。
視窗 10
Windows 10 使用 OpenSSH(一組基於 SSH 協議的安全網絡服務)通過不安全的網絡提供與服務器的安全連接。在那之前,它還沒有被引入該國。 Windows 10 秋季創意者更新 (版本 1709)。
如果你在本地使用 OpenSSH,你應該首先更新到至少這個版本的操作系統。如果由於某種原因無法更新到該版本,請按照 Windows 10 教程中的本地 SSH 客戶端進行操作。
視窗 7/8
舊版本的 Windows 不允許您通過 SSH 連接到服務器,但一些應用程序可以提供幫助。 Moba X 術語 什麼時候 油灰 免費且易於設置安全選項。
蘋果系統
新的 macOS 操作系統帶有一個用於訪問 SSH 的強大實用程序,稱為終端。以下是訪問它的步驟:
- 您的 應用 文件夾。
- 邀請 效用 文件夾。
- 打開 終端.
Terminal 是一個現成的實用程序,但您也可以下載 Putty 或 App Store 中可用的選項之一。
如何更改主機名
如何使用 VIM 更改主機名
現在您已經使用 SSH 訪問了服務器,切換到 root 用戶或使用 sudo 運行這些命令。您訪問的文件是需要 root 權限的 root 用戶文件。
步驟1
首先,打開您喜歡的文本編輯器並切換到 root。 我正在使用 VIM 文本編輯器。
# su - root
第2步
按照以下步驟通過分別編輯 /etc/hostname 和 /etc/hosts 文件來更新主機名。
.1. 使用#vim /etc/hostname 命令打開主機名文件,然後按i 編輯文件。編輯說 投放 在文件的底部。
2. 轉到您當前的主機名並將其替換為您的新主機名。
3. 按 結束 退出插入模式。
4. 使用 :wq 命令寫入文件並退出編輯器。
5. 按照相同的步驟使用#vim /etc/hosts 編輯主機文件。
第 3 步
編輯文件後,退出 SSH 會話並重新啟動服務器。
# reboot
服務器可能需要幾分鐘才能重新啟動。服務器重新聯機後,通過運行以下命令驗證更改:
# hostname
如果一切順利,終端應該輸出新的主機名。
如何使用 sed 命令更改主機名
另一種更改主機名的方法是使用 sed 命令。包含使用此方法的命令。
注意:在本例中,舊主機名是 host.oldhostname.com。 將 host.newhostname.com 更改為您的新主機名。
在 /etc/hostname 和 /etc/hosts 文件的終端窗口中輸入以下命令。
# sed -i 's/host.oldhostname.com/host.newhostname.com/g' /etc/hostname
# sed -i 's/host.oldhostname.com/host.newhostname.com/g' /etc/hosts
完成後,重新啟動服務器。可以使用 hostname 命令驗證更改。
主機名更新後的常見問題
當 /etc/hostname 或 /etc/hosts 文件中存在語法錯誤,或者這兩個文件之間的主機名不匹配時,會發生 Failed to start hostname.service: Unit hostname.service is masked 錯誤。在下面。

檢查兩個文件是否有錯誤,並在必要時修復它們。 在較新版本的 Ubuntu 中,您還應該使用 hostnamectl 命令。
# hostnamectl set-hostname host.newhostname.com
修復後,一定要啟動hostname服務,看看問題是否解決。為此,請運行 systemctl 命令,如下所示。
# systemctl restart hostname
注意:建議進行此類更改後重新啟動服務器。
結論是
更改主機名是值得且容易做到的。我們已經介紹瞭如何更改主機名和要使用的工具。通過遵循這些步驟和最佳實踐,您可以快速更改主機名並重新開始工作。
Liquid Web 客戶可以獲取 24/7 全天候技術支持,例如主機名更改。 如果您不使用 Liquid Web Hosting,請聯繫我們的銷售團隊,了解如何立即開始使用我們的超快速 VPS、雲專用或專用服務器!