Apache 虛擬主機的目的是在一台機器上運行多個網站。 它可以基於 IP 或基於名稱。
- 基於 IP 的虛擬主機根據 IP 地址設置各種指令。因此,每個主機都需要一個單獨的 IP 地址,並且通常用於在不同的端口和接口上託管網站。
- 基於名稱的虛擬主機允許您使用相同的 IP 地址託管多個網站,因為服務器依賴於客戶端將主機名報告為 HTTP 標頭。
先決條件
- Apache HTTP 服務器安裝在 Ubuntu 20.04 機器上。
(了解如何在 Apache Ubuntu 上安裝 HTTP 服務器) - 至少兩個域名用於測試虛擬主機
- 內臟 須藤 或root權限
創建網站目錄結構
本教程使用域 example1.com
什麼時候 example2.com
顯示 Apache 虛擬主機。
首先為這兩個站點創建目錄 /var/www
, 請執行下列操作 mkdir
命令與 sudo
:
sudo mkdir -p /var/www/example1.com/public_html sudo mkdir -p /var/www/example2.com/public_html
這些目錄包括 public_html
您要存儲網站文件的目錄。
因為我在幫助下創建了這些目錄 須藤 當前由 root 用戶擁有的命令。要授予他們權限,請執行以下操作: chown 命令與 須藤:
sudo chown -R $USER:$USER /var/www/example1.com/public_html sudo chown -R $USER:$USER /var/www/example2.com/public_html
下一個, index.html
在文件中包含以下腳本 public_html
這兩個站點的目錄。這將幫助您稍後測試您的 Apache 虛擬主機。為此,請使用您最喜歡的編輯器。
nano /var/www/example1.com/public_html/index.html
然後復制粘貼下面的HTML(這是設置頁面標題和添加兩個標題的基本HTML代碼)
<html> <head> <title>Welcome to example1.com!</title> </head> <body> <center> <h3>Congratulations! You've have successfully reached </h3> <h2>example1.com</h2> </center> </body> </html>
對其他域名也這樣做。
創建 Apache 虛擬主機文件
您需要為每個域名創建一個虛擬主機文件。利用 cp 此命令複製每個域名的默認設置。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example1.com.conf
對於第二個域名,
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example2.com.conf
然後使用您喜歡的文本編輯器編輯這些配置文件。對於第一個域名,
sudo nano /etc/apache2/sites-available/example1.com.conf
請輸入管理員的電子郵件地址 ServerAdmin
以及該域名的站點根目錄的位置 DocumentRoot
..
略低 DocumentRoot
為了 ServerName
持有域名, ServerAlias
如上圖所示,預留域名別名(如 www)。
對其他域也這樣做。
sudo nano /etc/apache2/sites-available/example2.com.conf
更新配置以啟用虛擬主機
然後,要啟用虛擬主機, a2ensite
公共事業。運行以下命令以啟用網站。
sudo a2ensite example1.com
同樣,對於不同的域名:
sudo a2ensite example2.com
現在您已準備好重新啟動 Apache HTTP 服務器以激活新配置並運行以下命令: systemctl
命令與 sudo
:
sudo systemctl reload apache2
現在您可以通過訪問確認 https://example1.com 什麼時候 https://example2.com 在瀏覽器中。


恭喜! 您已成功在 Apache Ubuntu 上設置了虛擬主機。
結論是
在本文中,我們將為 Apache Ubuntu 設置一個虛擬主機。這有助於在同一台服務器上為多個網站提供服務。
謝謝你的閱讀! ??