配置apache虛擬主機(jī)的三種方法

配置apache虛擬主機(jī)的三種方法

apache 配置虛擬主機(jī)的三種方法

(推薦教程:nginx教程

記事本打開httpd.conf文件 ,該文件在apache的目錄下,如: D:AppServApache2.2conf,修改如下兩處:

LoadModule?vhost_alias_module?modules/mod_vhost_alias.so???//去掉前面的#,意思是啟用apache的虛擬主機(jī)功能,第203行?? Include?conf/extra/httpd-vhosts.conf??//去掉#的意思是從httpd-vhosts.conf這個文件導(dǎo)入虛擬主機(jī)配置

配置虛擬主機(jī)后 不能用localhost 訪問

只需要把httpd.conf文件的ServerName localhost:80 那行注釋掉 就可以了

一、基于IP

假設(shè)服務(wù)器有個IP地址為192.168.1.10,使用ifconfig在同一個網(wǎng)絡(luò)接口eth0上綁定3個IP:

[root@localhost?root]#?ifconfig?eth0:1?192.168.1.11 [root@localhost?root]#?ifconfig?eth0:2?192.168.1.12 [root@localhost?root]#?ifconfig?eth0:3?192.168.1.13

修改hosts文件,添加三個域名與之一一對應(yīng):

192.168.1.11???www.test1.com 192.168.1.12???www.test2.com 192.168.1.13???www.test3.com

建立虛擬主機(jī)存放網(wǎng)頁的根目錄,如在/www目錄下建立test1、test2、test3文件夾,其中分別存放1.html、2.html、3.html

/www/test1/1.html /www/test2/2.html /www/test3/3.html

在httpd.conf中將附加配置文件httpd-vhosts.conf包含進(jìn)來,接著在httpd-vhosts.conf中寫入如下配置:

<virtualhost>   ServerName?www.test1.com   DocumentRoot?/www/test1/   <directory> ?    Options?Indexes?FollowSymLinks     ?AllowOverride?None     ?Order?allow,deny   ?  Allow?From?All ? ?</directory></virtualhost><virtualhost>   ServerName?www.test1.com   DocumentRoot?/www/test2/   <directory> ?    Options?Indexes?FollowSymLinks     ?AllowOverride?None     ?Order?allow,deny   ?  Allow?From?All ? ?</directory></virtualhost><virtualhost>   ServerName?www.test1.com   DocumentRoot?/www/test3/   <directory> ?    Options?Indexes?FollowSymLinks     ?AllowOverride?None     ?Order?allow,deny   ?  Allow?From?All ? ?</directory></virtualhost>

大功告成,測試下每個虛擬主機(jī),分別訪問www.test1.com、www.test2.com、www.test3.com

二、基于主機(jī)名

設(shè)置域名映射同一個IP,修改hosts:

127.0.0.1??gm.998gx.com 127.0.0.1??www.998gx.com 127.0.0.1??r.998gx.com 127.0.0.1??localhost

跟上面一樣,建立虛擬主機(jī)存放網(wǎng)頁的根目錄

/www/dxGM/index.php /www/dxskadmin/index.php /www/88qp/index.php

在httpd.conf中將附加配置文件httpd-vhosts.conf包含進(jìn)來,接著在httpd-vhosts.conf中寫入如下配置:

為了使用基于域名的虛擬主機(jī),必須指定服務(wù)器IP地址(和可能的端口)來使主機(jī)接受請求。可以用NameVirtualHost指令來進(jìn)行配置。 如果服務(wù)器上所有的IP地址都會用到, 你可以用*作為NameVirtualHost的參數(shù)。在NameVirtualHost指令中指明IP地址并不會使服務(wù)器自動偵聽那個IP地址。 這里設(shè)定的IP地址必須對應(yīng)服務(wù)器上的一個網(wǎng)絡(luò)接口。

下一步就是為你建立的每個虛擬主機(jī)設(shè)定配置塊,的參數(shù)與NameVirtualHost指令的參數(shù)是一樣的。每個定義塊中,至少都會有一個ServerName指令來指定伺服哪個主機(jī)和一個DocumentRoot指令來說明這個主機(jī)的內(nèi)容存在于文件系統(tǒng)的什么地方。

如果在現(xiàn)有的web服務(wù)器上增加虛擬主機(jī),必須也為現(xiàn)存的主機(jī)建造一個定義塊。其中ServerName和DocumentRoot所包含的內(nèi)容應(yīng)該與全局的保持一致,且要放在配置文件的最前面,扮演默認(rèn)主機(jī)的角色。

<virtualhost>? ????DocumentRoot?"D:/phpstudy/WWW/dxGM"? ????ServerName?gm.998gx.com? </virtualhost><virtualhost>? ????DocumentRoot?"D:/phpstudy/WWW/88qp"? ????ServerName?www.998gx.com? </virtualhost><virtualhost>? ????DocumentRoot?"D:/phpstudy/WWW/dxskadmin"? ????ServerName?r.998gx.com? </virtualhost><virtualhost>? ????DocumentRoot?"D:/phpstudy/WWW"? ????ServerName?localhost? </virtualhost>

測試下每個虛擬主機(jī),分別訪問gm.998gx.com、www.998gx.com、r.998gx.com

三、基于端口

修改配置文件
  將原來的

Listen 80
改為
  Listen 80
   Listen 8080

更改虛擬主機(jī)設(shè)置:

<virtualhost> ????DocumentRoot?/var/www/test1/ ????ServerName?www.test1.com </virtualhost><virtualhost> ????DocumentRoot?/var/www/test2 ????ServerName?www.test2.com </virtualhost>

以上就是配置

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享