Linux

Apache2 虛擬主機不工作(Debian)

  • January 4, 2016

我家有一台執行 debian 8 的本地伺服器。我使用路由器提供的 IP 地址訪問該伺服器。現在我想嘗試使用虛擬主機來使我的伺服器更好一些。我創建了兩個虛擬主機blog.commysite.com. 但我的問題是它們都不起作用。每次我在瀏覽器中輸入它們時都沒有任何反應。我已經在堆棧溢出或Google上嘗試了幾種解決方案。沒有任何幫助。

有什麼建議嗎?

我做了什麼:

**首先:**除了站點的預設目錄之外,我還設置了另外兩個目錄,並更改了預設目錄。

1)對於blog.com:/var/www/blog.com/html

2) 對於mysite.com:/var/www/mysite.com/html

3) 將預設值: /var/www/html 更改為 /var/www/default/html


**第二:**然後我在每個html文件夾中創建了一個index.html文件


**第三:**我在目錄中創建了另外兩個.conf文件/etc/apache2/sites-available並更改了default.conf DocumentRoot

部落格.com.conf

<VirtualHost *:80>
   ServerName blog.com
   ServerAlias www.blog.com
   ServerAdmin info@blog.com
   DocumentRoot /var/www/blog.com/html/
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

mysite.com.conf

<VirtualHost *:80>
   ServerName mysite.com
   ServerAlias www.mysite.com
   ServerAdmin info@mysite.com
   DocumentRoot /var/www/mysite.com/html/
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

改為default.conf DocumentRoot

預設.conf

<VirtualHost *:80>
   ServerAdmin info@default.com
   DocumentRoot /var/www/default/html/
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

**第四:**啟用我的兩個新站點

sudo a2ensite blog.com.conf

sudo a2ensite mysite.com.conf


**第五:**我重啟了apache

sudo 服務 apache2 重啟

也重新載入

sudo 服務 apache2 重新載入

須藤 /etc/init.d/apache2 重啟


**第六:**我編輯了我的hosts文件

127.0.0.1 localhost
ip blog.com
ip mysite.com

要使基於名稱的虛擬主機工作,您必須確保您嘗試訪問站點的主機名解析為伺服器 IP 地址。這意味著,在您的情況下, blog.com 和 mysite.com 應該解析為伺服器本地 IP 地址。這些應該通過相應地配置名稱伺服器來完成。

在本地實現此目的的另一種方法是將條目添加到本地 pc 的 hosts 文件中,以便正確解析。由於您已將條目放在伺服器主機文件中,因此您的電腦不知道它並且無法解析名稱,並且沒有對站點的請求到達任何地方。

查看基於名稱的虛擬主機Microsoft TCP/IP 主機名解析順序

引用自:https://serverfault.com/questions/746703