apache虛擬主機配置

2021-07-11 23:48:50 字數 4070 閱讀 2020

開啟apache的安裝目錄,找到httpd.conf檔案,分別去掉下面兩行文字前面的#號。

上面兩行分別表示啟用apache的虛擬主機功能和從conf/extra/httpd-vhosts.conf這個檔案匯入虛擬主機配置

開啟httpd-vhosts.conf檔案內容類似如下:

namevirtualhost *:80

serveradmin [email protected]

documentroot "c:/apache24/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

上述內容說明如下:

1)namevirtualhost 指定虛擬主機所使用的ip位址或網域名稱,但是最好是ip位址。使用基於網域名稱的虛擬主機時,namevirtualhost是必要的指令。namevirtualhost可以定義多個。 

2)所有符合namevirtualhost或標籤定義的請求,都會被作為虛擬主機處理,而主伺服器將不理會。namevirtualhost定義了而標籤沒有定義的的請求,伺服器會找不到相應的虛擬主機而將無法處理。所以每個namevirtualhost定義的引數至少要有乙個相匹配。

3)如果設定namevirtualhost 或為*:80的話,所有針對80埠的請求,都會被虛擬主機處理,請求會根據網域名稱指向某個虛擬主機。如果有來自80埠的請求,而所請求的網域名稱沒有被配置為虛擬主機,那將指向第乙個虛擬主機。這樣主伺服器將無法收到來自80埠的任何請求。為此也要為主伺服器配置乙個虛擬主機。

serveradmin 管理員郵箱

servername 要繫結的網域名稱(必填)

serveralias 要繫結的虛擬主機的別名。(可選,如果多個網域名稱,中間以空格分隔,如果沒有,則去掉該行)

支援*,?兩種萬用字元,比如 *.abc.com,表示任意乙個abc.com的二級網域名稱都可訪問。

customlog 使用者日誌檔案(可選,如果不需要,則去掉該行)

errorlog 錯誤日誌(可選,如果不需要,則去掉該行)①基於主機名配置

127.0.0.1      www.demo1.com

127.0.0.1 www.demo2.com

127.0.0.1 www.demo3.com

2.根據上面的位址建立

虛擬主機存放網頁的根目錄

/www/demo1/1.html

/www/demo2/2.html

/www/demo3/3.html

3.修改httpd.conf檔案,配置如下:

在現有的web伺服器上增加虛擬主機,必須也為現存的主機建造乙個定義塊。其中servername和documentroot所包含的內容應該與全域性的保持一致,且要放在配置檔案的最前面,扮演預設主機的角色。

namevirtualhost *:80

servername *

documentroot /www/

servername www.demo1.com

documentroot /www/demo1/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

servername www.demo2.com

documentroot /www/demo2/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

servername www.demo3.com

documentroot /www/demo3/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

[root@localhost root]# ifconfig eth0:1 192.168.1.250

[root@localhost root]# ifconfig eth0:2 192.168.1.251

[root@localhost root]# ifconfig eth0:3 192.168.1.252

2. 修改hosts檔案,新增三個網域名稱與之一一對應:

192.168.1.250   www.demo1.com

192.168.1.251 www.demo2.com

192.168.1.252 www.demo3.com

3. 建立虛擬主機存放網頁的根目錄,如在/www目錄下建立demo1,demo2,demo3資料夾,其中分別存放1.html、2.html、3.html

/www/demo1/1.html

/www/demo2/2.html

/www/demo3/3.html

4.修改httpd-vhosts.conf檔案,修改配置如下:

servername www.demo1.com

documentroot /www/demo1/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

servername www.demo2.com

documentroot /www/demo2/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

servername www.demo3.com

documentroot /www/demo3/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

1.  修改配置檔案

將原來的

listen 80

改為listen 80

listen 8080

2. 更改虛擬主機設定:

servername www.demo1.com

documentroot /www/demo1/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

servername www.demo2.com

documentroot /www/demo2/

options indexes followsymlinks

allowoverride none

order allow,deny

allow from all

apache虛擬主機配置

之前已經在csdn上上傳過apache的文件在這裡補充說明一下,apache2.2.x與tomcat或iis或三者之間的虛擬主機配置。介紹一下如何整合其他 web伺服器,如 iis tomcat 等。網上有 n多整合方案講的都不是很清楚 特別是 windows 下的 這裡要特別提示一下,apache...

apache虛擬主機配置

多個網域名稱 伺服器 對應乙個 ip 位址,配置方法為 namevirtualhost 111.22.33.44 servername www.sample.com documentroot www sample servername www.sample2.com documentroot www...

apache配置虛擬主機

namevirtualhost 80 directoryindex default.php index.html index.php index.htm servername www.host1.com servername host1 com documentroot d wamp www1 er...