Apache基於域名配置虛擬主機


  Apache的虛擬主機服務就是指將一台機器虛擬成多台WEB服務器。具體地說,就是,我們可以利用虛擬主機服務將兩個域名分配到同一台服務器上,而訪問者只要輸入域名就可以訪問。比如在本機,我們配置www.aaa.com和www.bbb.com.基於域名的虛擬主機服務不需要多個IP地址,配置簡單,無需特殊的硬件支持。下面的配置是在windows下的基於域名的虛擬主機配置,Apache版本為 httpd-2.2.22。在本機上設置兩個虛擬主機,假設站點域名分別為www.51venus.com和51venus.com。

  httpd.conf文件配置
首先,在文件中找到下面的配置


# Virtual hosts
#Include conf/extra/httpd-vhosts.conf


去掉Include前的#,這個是注釋符號,變成下面:


# Virtual hosts
Include conf/extra/httpd-vhosts.conf


然后找到以下三個字符串開頭的語句,加#注釋掉,如:


#ServerAdmin
#ServerName
#DocumentRoot


然后、修改conf/extra/httpd-vhosts.conf配置文件,如圖

然后 怎么修改呢?

首先修改:VirtualHost

1 NameVirtualHost *:80
2 //改為
3 NameVirtualHost 127.0.0.1

然后修改:VirtualHost以及Directory,下面以我修改的這個為例:

 1 <VirtualHost 127.0.0.1>
 2     ServerAdmin webmaster@dummy-host.example.com
 3     DocumentRoot "D:/xampp/htdocs/www"     //要與下文的目錄名相對應,並設置目錄權限
 4     ServerName www.51venus.com       
 5     ServerAlias www.51venus.com
 6     ErrorLog "logs/www.51venus.com-error.log"
 7     CustomLog "logs/www.51venus.com-access.log"common
 8 </VirtualHost>
 9 
10 <VirtualHost 127.0.0.1>
11     ServerAdmin webmaster@dummy-host2.weiyishi.com
12     DocumentRoot "D:/xampp/htdocs/venus"
13     ServerName51venus.com
14     ServerAlias 51venus.com
15     ErrorLog "logs/51venus.com-error.log"
16     CustomLog "logs/51venus.com-access.log"common
17 </VirtualHost>
18 
19 <Directory "D:/xampp/htdocs/www">
20     Options Indexes FollowSymLinks Multiviews
21     AllowOverride All
22     Order Allow,Deny
23     Allow from all
24 </Directory>
25 
26 <Directory "D:/xampp/htdocs/venus">
27     Options Indexes FollowSymLinks Multiviews
28     AllowOverride All
29     Order Allow,Deny
30     Allow from all
31 </Directory>

我這里用的是php的語法風格,實際應用中要修改。

最后,修改hosts文件(c:\windows\system32\drivers\etc\hosts)用文本文件打開就可以

在文件的下面添加如下代碼:

127.0.0.1 www.51venus.com  51venus.com

重啟服務器,訪問下吧!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM