天天看點

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

阿裡雲ECS實戰配置虛拟主機

買了一台ECS阿裡雲伺服器,性能感覺有點富餘,想着可以陪着虛拟主機多一些WWW目錄好放一些其他的程式。比如DEMO什麼的。

今天研究了下,主要是就是做基于不同域名的虛拟主機,也就是下面參考方案中的第二個。

1. 設定域名映射同一個IP,修改hosts(host檔案位置:/etc/hosts):

192.168.1.10  abc.com

192.168.1.10  test.tang.cn

 2. 跟上面一樣,建立虛拟主機存放網頁的根目錄(本人采用的是XAMPP)

/htdocs/abc/1.html

/htdocs/test/2.html

 3. 在httpd.conf中将附加配置檔案httpd-vhosts.conf包含進來,接着在httpd-vhosts.conf中寫入如下配置:

    就是将httpd.conf檔案中的 (位置:/opt/lampp/etc/extra)

  為了使用基于域名的虛拟主機,必須指定伺服器IP位址(和可能的端口)來使主機接受請求。可以用NameVirtualHost指令來進行配置。 如果伺服器上所有的IP位址都會用到, 你可以用*作為NameVirtualHost的參數。在NameVirtualHost指令中指明IP位址并不會使伺服器自動偵聽那個IP位址。 這裡設定的IP位址必須對應伺服器上的一個網絡接口。

  下一步就是為你建立的每個虛拟主機設定<VirtualHost>配置塊,<VirtualHost>的參數與NameVirtualHost指令的參數是一樣的。每個<VirtualHost>定義塊中,至少都會有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的内容存在于檔案系統的什麼地方。

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

   注意參考httpd-vhosts.conf中的推薦寫法來寫,有些沒有必要的不用寫

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/opt/lampp/htdocs/abc/"

ServerName abc.com

ServerAlias www.abc.com

ErrorLog "logs/abc.com-error_log"

CustomLog "logs/abc.com-access_log" common

</VirtualHost>

ServerAdmin [email protected]

DocumentRoot "/opt/lampp/htdocs/test/"

ServerName test.tang.cn

ServerAlias www.test.tang.cn

ErrorLog "logs/test.tang.cn-error_log"

CustomLog "logs/test.tang.cn-access_log" common

 4. 大功告成,重新開機伺服器,測試下每個虛拟主機,分别通路www.abc.com、test.tang.cn

一、基于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中寫入如下配置:

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

<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 192.168.1.12:80>

  DocumentRoot /www/test2/

  <Directory "/www/test2">

<VirtualHost 192.168.1.13:80>

  DocumentRoot /www/test3/

  <Directory "/www/test3">

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

 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. 跟上面一樣,建立虛拟主機存放網頁的根目錄

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

NameVirtualHost *:80

<VirtualHost *:80>  

  ServerName *

  DocumentRoot /www/ 

  ServerName www.test1.com

  DocumentRoot /www/test1/

  <Directory "/www/test1">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny

    Allow from all

  </Directory>

</VirtualHost> 

  ServerName www.test2.com

  DocumentRoot /www/test2/

  <Directory "/www/test2">

  ServerName www.test3.com

  DocumentRoot /www/test3/

  <Directory "/www/test3">

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

 4. 大功告成,測試下每個虛拟主機,分别通路www.test1.com、www.test2.com、www.test3.com

三、基于端口

1.  修改配置檔案

  将原來的

    Listen 80

      改為

      Listen 80

      Listen 8080

2. 更改虛拟主機設定:

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

<VirtualHost 192.168.1.10:80>

    DocumentRoot /var/www/test1/

    ServerName www.test1.com

<VirtualHost 192.168.1.10:8080>

    DocumentRoot /var/www/test2

    ServerName www.test2.com

***阿裡雲ECS實戰配置虛拟主機 + Apache 配置虛拟主機三種方式

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/