基於名稱的虛擬主機配置
基於名稱的 Apache 虛擬主機在 Apache 網站上描述如下:
使用基於名稱的虛擬主機,伺服器依賴客戶端將主機名報告為 HTTP 標頭的一部分。使用此技術,許多不同的主機可以共享相同的 IP 地址。
因此,可以通過此方法在一臺伺服器上託管多個網站。在 ubuntu 上,配置檔案位於/ etc / apache2 / sites-available 中。在該目錄中,你將找到 000-default.conf。這是預設配置,所有請求都將傳送到此配置檔案,直到其他請求被設定為止。
要設定虛擬主機,此處將使用 example.com ,但你應將其替換為 domain.com 。複製預設檔案:
cp 000-default.conf example.com.conf
配置檔案可以具有以下指令:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/log/apache/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache/logs/access.log combined
</VirtualHost>
- 第一行表示應匹配埠 80(預設 http 埠)上的所有請求。你也可以使用 IP 地址而不是*,即伺服器的 IP。
ServerAdmin
是用於顯示 http 錯誤訊息的網站管理員的聯絡方式。ServerName
是網站的域名。ServerAlias
是網站的第二名,通常是 www.domain.comDocumentRoot
是我們瀏覽網站時載入的根資料夾。ErrorLog
是指向錯誤的檔案LogLevel
。是要傳送到日誌的錯誤級別CustomLog
是訪問資訊的檔案
使用你的網站域名和網站檔案的相應目錄編輯替換 example.com 的檔案。
儲存檔案並使用以下 Apache 命令啟用站點:
sudo a2ensite example.com.conf
重新載入 apache
sudo service apache2 reload
還有一些必須檢查的事情:
- 確保你的域的 DNS 設定為正確的 IP(這可能需要一段時間才能傳播)
- 確保你的埠 80 在防火牆上開啟
- 確保在伺服器檔案上正確設定了檔案許可權 - 所有權應為 www-data:www-data 和目錄許可權應為 750,檔案許可權應為 640。
你的虛擬主機應該正常執行! 你可以為同一伺服器上的其他網站重複此操作,使用不同的配置檔案(使用相同的命名約定)和/ var / www 下的不同目錄。