比如你希望使用同一臺web服務器來同時運行www.deerol.com與www.163.com,那麼你可以在Apache的配置文件httpd.conf中(一般位於/etc/httpd/conf或/usr/local/apache/conf目錄下),添加以下內容:
以下是服務器配置文件(Server configuration)httpd.conf中需要添加的信息
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/deerol_com
ServerName www.deerol.com
# Other directives here
#配置域名的目錄訪問權限
<Directory "/www/deerol_com">
Options Indexes FollowSymLinks
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/163_com
ServerName www.163.com
# Other directives here
#配置域名的目錄訪問權限
<Directory "/www/deerol_com">
Options Indexes FollowSymLinks
allow from all
</Directory>
</VirtualHost>
·以上代碼應該加入到Apache配置文件httpd.conf中的類似代碼的後面;
·DocumentRoot表示網站根目錄,ServerName表示需要服務的域名,80表示Apache監聽80端口
在你正確寫入以上代碼之後,apache會就用戶訪問的域名對應配置中的ServerName選擇合適的web目錄輸出html代碼。以上設置中第一項(即ServerName www.deerol.com)是默認選項。若用戶訪問所指定的域名不符合所有條目時採用默認項,即指向
www.deerol.com。
在配置時可能遇到的場景:
1.使用域名加端口訪問
如果需要帶端口訪問(這種情況很少,一般會在測試時用到)如:www.domain.com:8081 這時在配置<VirtaulHost> 後,還需要添加對該端口的監聽Listen 8081
2.如果服務器上除了Apache服務外還裝了IIS(運行asp,asp.net程序),Tomcat(運行java,jsp程序)服務該如何配置?
一般的我們會把Apache默認爲80端口,IIS可以設置爲81端口,Tomcat設置爲8080端口。假設有一jsp程序,在服務器本地配置時我們可以通過http://localhost:8080/document訪問。那如何配置通過域名訪問到該地址呢?
<VirtualHost *:80>
ProxyPreserveHost On
ServerName yourdomain.com
DirectoryIndex index.jsp
ProxyPass / http://localhost:8080/KBoom/
ProxyPassReverse / http://localhost:8080/KBoom/
</VirtualHost>
這裏我們注意到使用了代理訪問。首先開啓代理支持ProxyPreserveHost On,然後再配置正向代理和反向代理 ProxyPass / http://localhost:8080/KBoom (kboom爲虛擬目錄)