apache虛擬主機的配置指南

發布時間:2019-10-08 22:51 來源:互聯網 當前欄目:網站服務器

一、檢查apache虛擬主機模塊

apache要配置虛擬主機,就需要先查看apache是否編譯vhost_alias_module模塊。當然apache默認是已經編譯該模塊的,我們可以通過以下命令查看是否已經編譯模塊,如下:

/usr/local/apache2/bin/apachectl -M

二、開啟apache虛擬主機功能

要開啟apache虛擬主機功能,我們需要修改apache配置文件http.conf。打開apache的安裝目錄,找到httpd.conf文件,去掉Include conf/extra/httpd-vhosts.conf前的#。如下:

vi httpd.conf

該行的作用是,把conf/extra/目錄下的httpd-vhosts.conf文件導入虛擬主機配置中。

下面我們所有有關虛擬主機的配置都在httpd-vhosts.conf文件中進行。如下:

apache虛擬主機配置主要分為三種,分別是根據IP地址、根據端口、根據域名。

這三種虛擬主機,我們主要講解基于域名的虛擬主機。基于IP與基于端口在生產環境中使用的比較少,我們在此只大致講解其配置。

注意在此之前,我們還要修改httpd.conf文件把有關目錄訪問權限的配置選項去掉。否則在訪問虛擬主機時,會報403錯誤。如下:

httpd.conf文件去掉Order deny,allow和Deny from all行,修改如下:

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

值得注意的是,當我們為apache啟用虛擬主機之后,那么所有的用戶請求都會交由對應的虛擬主機來處理。如果apache找不到對應的虛擬主機,則會把該請求交給配置文件中排在最前面的虛擬主機來處理。

同時如果配置基于域名的虛擬主機,我們必須要啟用NameVirtualHost *:80行。如下:

三、httpd-vhosts.conf文件詳解

httpd-vhosts.conf文件內容大致如下:

NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "@@[email protected]@/docs/dummy-host.example.com"

ServerName dummy-host.example.com

ServerAlias www.dummy-host.example.com

ErrorLog "logs/dummy-host.example.com-error_log"

CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

NameVirtualHost指定虛擬主機所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虛擬主機時,NameVirtualHost是必要的指令。NameVirtualHost可以定義多個。所有符合NameVirtualHost或<VirtualHost>標簽定義的請求,都會被作為虛擬主機處理,而主服務器將不理會。NameVirtualHost定義了而<VirtualHost>標簽沒有定義的的請求,服務器會找不到相應的虛擬主機而將無法處理。所以每個NameVirtualHost定義的參數至少要有一個<VirtualHost>相匹配。

如果設置NameVirtualHost或<VirtualHost>為*:80的話,所有針對80端口的請求,都會被虛擬主機處理,請求會根據域名指向某個虛擬主機。如果有來自80端口的請求,而所請求的域名沒有被配置為虛擬主機,那將指向第一個虛擬主機。這樣主服務器將無法收到來自80端口的任何請求。為此也要為主服務器配置一個虛擬主機。

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、