centos6.8上實現虛擬主機多站點配置
Apache中配置多主機站點,可以通過兩種方式實現:
1、將同一個域名的不同埠對映到不同的站點(虛擬主機)
2、將同一個埠對映成不同的域名,不同的域名對映到不同的站點
備註:兩種方法可以同時存在,區域網通過ip:埠的配置方法與統一域名不同埠的配置方法一樣我們只需要修改相應的配置檔案即可。
一、準備工作
1、修改系統 hosts檔案
centos中hosts的檔案路徑: /etc/hosts
在這個檔案中我們加入如下兩行碼:
127.0.0.1 www.aaa.com,www.qiye.com這兩行程式碼的意思是將www.aaa.com和www.qiye.com對映到本機的ip地址上。
自測一個站點:
2、準備兩個站點 (ps:這兩個站點可以放到任意的下面)
分別在
/var/www/aaa,下面有個index.html檔案.內容是"這是/var/www/aaa"站點;
/opt/lampp/htdocs/qiye下面有個index.html檔案.內容是"這是/opt/lampp/htdocs/qiye"站點.(安裝好LAMP後,預設的站點)
二、具體實現
我們分別講解兩種不同的實現方案
1)修改監聽埠
在Apache的httpd.conf中,將監聽埠修改為8080和8090,具體如下圖所示:
2)註釋預設的訪問路徑(本人親身測試, 註釋掉或者不註釋掉都可以,貌似沒啥影響)
在httpd.conf檔案中找到如下程式碼:
DocumentRoot "/opt/lampp/http2/htdocs"
將這行程式碼註釋掉,如下圖:
3)開啟引入httpd-vhosts.conf檔案的註釋
2、修改Apache的httpd-vhosts.conf檔案
我們說到的方案一和方案二,只是在配置httpd-vhosts.conf檔案的時候有所不同。
在 http-vhosts.conf 配置的虛擬主機總的 資料夾訪問許可權配置<Directory>也可以放到httpd.conf中
方案一、
將同一個域名的不同埠對映到不同的虛擬主機(站點),不同埠對映到不同的站點
在httpd-vhosts.conf檔案中新增如下程式碼:
<VirtualHost www.qiye.com:8080> DocumentRoot "/var/www/aaa" #這裡配置歡迎首頁面 DirectoryIndex index.html index.htm index.php <Directory /> Options FollowSymLinks #不允許別人修改我們的頁面 AllowOverride None #設定訪問許可權 Order allow,deny Allow from All </Directory> </VirtualHost> <VirtualHost www.qiye.com:8090> DocumentRoot "/opt/lampp/htdocs/qiye" #這裡配置歡迎首頁面 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 127.0.0.1:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/aaa"
ServerName www.aaa.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerAdmin [email protected]
DocumentRoot "/opt/lampp/htdocs/qiye"
ServerName www.qiye.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
啟動Apache在瀏覽器中輸入:http://www.aaa.com顯示"我是第一個站點",輸入:http://www.qiye.com顯示"我是第二個站點"。