Apache之——多虛擬主機多站點配置的兩種實現方案
Apache中配置多主機多站點,可以通過兩種方式實現:
- 將同一個域名的不同埠對映到不同的虛擬主機,不同埠對映到不同的站點;
- 將同一個埠對映成不同的域名,不同的域名對映到不同的站點。
我們只需要修改相應的配置檔案即可。
一、準備工作
1、修改系統 hosts檔案
我是在我自己的電腦上操作的,我的系統是win7,所以先修改win7系統的hosts檔案,增加兩個域名對映,以便後面備用。hosts檔案的路徑是:C:/Windows/System32/drivers/etc/hosts,在這個檔案中我們加入如下兩行程式碼:
這兩行程式碼的意思是將www.liuyazhuang.com和www.lyz.com對映到本機的ip地址上。127.0.0.1 www.liuyazhuang.com 127.0.0.1 www.lyz.com
2、準備兩個站點
在d:/Apache目錄下分別準備兩個站點myweb1和myweb2,這兩個站點下分別有一個index.html檔案,myweb1下index.html內容是"我是第一個站點",myweb2站點下的index.html內容是"我是第二個站點"。
具體如下圖所示:
好了,到此,站點準備完畢
二、具體實現
我們分別講解兩種不同的實現方案
1、修改Apache的httpd.conf檔案
1)修改監聽埠
在Apache的httpd.conf中,將監聽埠修改為8080和8090,具體如下圖所示:
2)註釋預設的訪問路徑
在httpd.conf檔案中找到如下程式碼:
DocumentRoot "D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"
將這行程式碼註釋掉,如下圖:
3)開啟引入httpd-vhosts.conf檔案的註釋
在httpd.conf檔案中找到如下程式碼:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
將#Include conf/extra/httpd-vhosts.conf這行程式碼的註釋開啟,如下圖:
2、修改Apache的httpd-vhosts.conf檔案
我們說到的方案一和方案二,只是在配置httpd-vhosts.conf檔案的時候有所不同。
方案一、
將同一個域名的不同埠對映到不同的虛擬主機,不同埠對映到不同的站點
在httpd-vhosts.conf檔案中新增如下程式碼:
#配置我們自己的虛擬主機
<VirtualHost www.lyz.com:8080>
#配置訪問跟目錄
DocumentRoot "d:/Apache/myweb1"
#這裡配置歡迎首頁面
DirectoryIndex index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不允許別人修改我們的頁面
AllowOverride None
#設定訪問許可權
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
#配置我們自己的虛擬主機
<VirtualHost www.lyz.com:8090>
#配置訪問跟目錄
DocumentRoot "d:/Apache/myweb2"
#這裡配置歡迎首頁面
DirectoryIndex index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不允許別人修改我們的頁面
AllowOverride None
#設定訪問許可權
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
具體如下圖所示:
啟動Apache在瀏覽器中輸入:http://www.lyz.com:8080顯示"我是第一個站點",輸入:http://www.lyz.com:8090顯示"我是第二個站點"。
方案二、
將同一個埠對映成不同的域名,不同的域名對映到不同的站點。
在httpd-vhosts.conf檔案中新增如下程式碼:
#配置我們自己的虛擬主機
<VirtualHost *:8080>
#配置訪問跟目錄
DocumentRoot "d:/Apache/myweb1"
ServerName www.lyz.com
#這裡配置歡迎首頁面
DirectoryIndex news.html index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不允許別人修改我們的頁面
AllowOverride None
#設定訪問許可權
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
#配置我們自己的虛擬主機
<VirtualHost *:8080>
#配置訪問跟目錄
DocumentRoot "d:/Apache/myweb2"
ServerName www.liuyazhuang.com
#這裡配置歡迎首頁面
DirectoryIndex news.html index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不允許別人修改我們的頁面
AllowOverride None
#設定訪問許可權
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
具體如下圖所示:
啟動Apache在瀏覽器中輸入:http://www.lyz.com:8080顯示"我是第一個站點",輸入:http://www.liuyazhuang.com:8080顯示"我是第二個站點"。