分享三種Apache配置虛擬機器主機的方式_Linux

來源:互聯網
上載者:User

一、基於IP

 1. 假設伺服器有個IP地址為192.168.1.10,使用ifconfig在同一個網路介面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

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

192.168.1.11   www.test1.com
192.168.1.12   www.test2.com
192.168.1.13   www.test3.com
 3. 建立虛擬機器主機存放網頁的根目錄,如在/www目錄下建立test1、test2、test3檔案夾,其中分別存放1.html、2.html、3.html

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

 4. 在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下配置:

<VirtualHost 192.168.1.11:80>  ServerName www.test1.com  DocumentRoot /www/test1/  <Directory "/www/test1">     Options Indexes FollowSymLinks     AllowOverride None     Order allow,deny     Allow From All   </Directory></VirtualHost><VirtualHost 192.168.1.12:80>  ServerName www.test1.com  DocumentRoot /www/test2/  <Directory "/www/test2">     Options Indexes FollowSymLinks     AllowOverride None     Order allow,deny     Allow From All   </Directory></VirtualHost><VirtualHost 192.168.1.13:80>  ServerName www.test1.com  DocumentRoot /www/test3/  <Directory "/www/test3">     Options Indexes FollowSymLinks     AllowOverride None     Order allow,deny     Allow From All   </Directory></VirtualHost>

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

二、基於主機名稱

 1. 設定網域名稱映射同一個IP,修改hosts:

192.168.1.10  www.test1.com
192.168.1.10  www.test2.com
192.168.1.10  www.test3.com

2. 跟上面一樣,建立虛擬機器主機存放網頁的根目錄

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

 3. 在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下配置: 

  為了使用基於網域名稱的虛擬機器主機,必須指定伺服器IP地址(和可能的連接埠)來使主機接受請求。可以用NameVirtualHost指令來進行配置。 如果伺服器上所有的IP地址都會用到, 你可以用*作為NameVirtualHost的參數。在NameVirtualHost指令中指明IP地址並不會使伺服器自動偵聽那個IP地址。 這裡設定的IP地址必須對應伺服器上的一個網路介面。
  下一步就是為你建立的每個虛擬機器主機設定<VirtualHost>配置塊,<VirtualHost>的參數與NameVirtualHost指令的參數是一樣的。每個<VirtualHost>定義塊中,至少都會有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的內容存在於檔案系統的什麼地方。

  如果在現有的web伺服器上增加虛擬機器主機,必須也為現存的主機建造一個<VirtualHost>定義塊。其中ServerName和DocumentRoot所包含的內容應該與全域的保持一致,且要放在設定檔的最前面,扮演預設主控件的角色。

NameVirtualHost *:80<VirtualHost *:80>   ServerName *  DocumentRoot /www/</VirtualHost><VirtualHost *:80>  ServerName www.test1.com  DocumentRoot /www/test1/  <Directory "/www/test1">    Options Indexes FollowSymLinks    AllowOverride None    Order allow,deny    Allow from all  </Directory></VirtualHost> <VirtualHost *:80>  ServerName www.test2.com  DocumentRoot /www/test2/  <Directory "/www/test2">    Options Indexes FollowSymLinks    AllowOverride None    Order allow,deny    Allow from all  </Directory></VirtualHost><VirtualHost *:80>  ServerName www.test3.com  DocumentRoot /www/test3/  <Directory "/www/test3">    Options Indexes FollowSymLinks    AllowOverride None    Order allow,deny    Allow from all  </Directory></VirtualHost>

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

 三、基於連接埠

1.  修改設定檔

將原來的Listen 80改為Listen 80、Listen 8080

2. 更改虛擬機器主機設定:

<VirtualHost 192.168.1.10:80>  DocumentRoot /var/www/test1/  ServerName www.test1.com</VirtualHost><VirtualHost 192.168.1.10:8080>  DocumentRoot /var/www/test2  ServerName www.test2.com</VirtualHost>

以上就是Apache配置虛擬機器主機的方法,希望對大家學習有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.