虛擬主機(多站點配置)的實現--centos上的實現


Apache中配置多主機多站點,可以通過兩種方式實現

  • 將同一個域名的不同端口映射到不同的站點(虛擬主機)
  • 將同一個端口映射成不同的域名,不同的域名映射到不同的站點

兩種方法可以同時存在,局域網通過  ip:端口的配置方法跟統一域名不同端口的配置方法一樣

我們只需要修改相應的配置文件即可。

一、准備工作

1、修改系統 hosts文件

centos中hosts的文件路徑: /etc/hosts

在這個文件中我們加入如下兩行代碼:

 在     127.0.0.1后面添加 www.liuyazhuang.com,www.lyz.com

這兩行代碼的意思是將www.liuyazhuang.com和www.lyz.com映射到本機的ip地址上。

2、准備兩個站點 (ps:這兩個站點可以放到任意的下面)

分別在

  1>   /var/www/myweb1,下面有個index.html文件.內容是"這是/var/www/myweb1"站點.

 2>   /usr/local/http2/htdocs/myweb2,下面有個index.html文件.內容是"這是/usr/local/http2/htdoces/myweb2"站點.(安裝好LAMP后,默認的站點)

二、具體實現

我們分別講解兩種不同的實現方案

1)修改監聽端口

在Apache的httpd.conf中,將監聽端口修改為8080和8090,具體如下圖所示:

2)注釋默認的訪問路徑(本人親身測試, 注釋掉或者不注釋掉都可以,貌似沒啥影響)

在httpd.conf文件中找到如下代碼:

  1. DocumentRoot "/usr/local/http2/htdocs"  

將這行代碼注釋掉,如下圖:

 

3)打開引入httpd-vhosts.conf文件的注釋

在httpd.conf文件中找到如下代碼:

  1. # Virtual hosts  
  2. #Include conf/extra/httpd-vhosts.conf  

將#Include conf/extra/httpd-vhosts.conf這行代碼的注釋打開,如下圖:

2、修改Apache的httpd-vhosts.conf文件

我們說到的方案一和方案二,只是在配置httpd-vhosts.conf文件的時候有所不同。

在 http-vhosts.conf 配置的虛擬主機總的 文件夾訪問權限配置<Directory>也可以放到httpd.conf中

方案一、

將同一個域名的不同端口映射到不同的虛擬主機(站點),不同端口映射到不同的站點

在httpd-vhosts.conf文件中添加如下代碼:

  1. #配置我們自己的虛擬主機  
  2. <VirtualHost www.lyz.com:8080>  
  3.     #配置訪問跟目錄  
  4.     DocumentRoot "d:/Apache/myweb1"  
  5.     #這里配置歡迎首頁面  
  6.     DirectoryIndex index.html index.htm index.php  
  7.     <Directory />  
  8.     Options FollowSymLinks  
  9.     #不允許別人修改我們的頁面  
  10.     AllowOverride None  
  11.     #設置訪問權限  
  12.     Order allow,deny  
  13.     Allow from All  
  14.     </Directory>  
  15. </VirtualHost>  
  16.   
  17. #配置我們自己的虛擬主機  
  18. <VirtualHost www.lyz.com:8090>  
  19.     #配置訪問跟目錄  
  20.     DocumentRoot "d:/Apache/myweb2"  
  21.     #這里配置歡迎首頁面  
  22.     DirectoryIndex index.html index.htm index.php  
  23.     <Directory />  
  24.     Options FollowSymLinks  
  25.     #不允許別人修改我們的頁面  
  26.     AllowOverride None  
  27.     #設置訪問權限  
  28.     Order allow,deny  
  29.     Allow from All  
  30.     </Directory>  
  31. </VirtualHost>  

具體如下圖所示:

 

啟動Apache在瀏覽器中輸入:http://www.lyz.com:8080顯示"我是第一個站點",輸入:http://www.lyz.com:8090顯示"我是第二個站點"。

方案二、

將同一個端口映射成不同的域名,不同的域名映射到不同的站點。

在httpd-vhosts.conf文件中添加如下代碼:

  1. #配置我們自己的虛擬主機  
  2. <VirtualHost *:8080>  
  3.     #配置訪問跟目錄  
  4.     DocumentRoot "d:/Apache/myweb1"      
  5.     ServerName www.lyz.com  
  6.     #這里配置歡迎首頁面  
  7.     DirectoryIndex news.html index.html index.htm index.php  
  8.     <Directory />  
  9.     Options FollowSymLinks  
  10.     #不允許別人修改我們的頁面  
  11.     AllowOverride None  
  12.     #設置訪問權限  
  13.     Order allow,deny  
  14.     Allow from all  
  15.     </Directory>  
  16. </VirtualHost>  
  17.   
  18. #配置我們自己的虛擬主機  
  19. <VirtualHost *:8080>  
  20.     #配置訪問跟目錄  
  21.     DocumentRoot "d:/Apache/myweb2"  
  22.     ServerName www.liuyazhuang.com  
  23.     #這里配置歡迎首頁面  
  24.     DirectoryIndex news.html index.html index.htm index.php  
  25.     <Directory />  
  26.     Options FollowSymLinks  
  27.     #不允許別人修改我們的頁面  
  28.     AllowOverride None  
  29.     #設置訪問權限  
  30.     Order allow,deny  
  31.     Allow from all  
  32.     </Directory>  
  33. </VirtualHost>  

具體如下圖所示:

 

啟動Apache在瀏覽器中輸入:http://www.lyz.com:8080顯示"我是第一個站點",輸入:http://www.liuyazhuang.com:8080顯示"我是第二個站點"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM