您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>電腦硬件>服務(wù)器>

如何用Apache實現(xiàn)虛擬主機(jī)服務(wù)

2010年02月01日 11:59 www.ttokpm.com 作者:佚名 用戶評論(0
關(guān)鍵字:虛擬主機(jī)(11133)

如何用Apache實現(xiàn)虛擬主機(jī)服務(wù)

 什么是虛擬主機(jī)服務(wù)

  所謂的虛擬主機(jī)服務(wù)就是指將一臺機(jī)器虛擬成多臺WEB服務(wù)器。舉個例子來說,一家公司想從事提供主機(jī)代管服務(wù),它為其它企業(yè)提供WEB服務(wù)。那么它肯定不是為每一家企業(yè)都各準(zhǔn)備一臺物理上的服務(wù)器,而是用一臺功能較強(qiáng)大的大型服務(wù)器,然后用虛擬主機(jī)的形式,提供多個企業(yè)的WEB服務(wù),雖然所有的WEB服務(wù)就是這臺服務(wù)器提供的,但是讓訪問者看起來卻是在不同的服務(wù)器上獲得WEB服務(wù)一樣。

  具體地說,就是,我們可以利用虛擬主機(jī)服務(wù)將兩個不同公司www.company1.com與www.company2.com的主頁內(nèi)容都存放在同一臺主機(jī)上。而訪問者只需輸入公司的域名就可以訪問到它想得到的主頁內(nèi)容。

  用Apache設(shè)置虛擬主機(jī)服務(wù)通??梢圆捎脙煞N方案:基于IP地址的虛擬主機(jī)和基于名字的虛擬主機(jī),下面我們分別介紹一下它們的實現(xiàn)方法。以便大家在具體的應(yīng)用中能夠選擇最合適的實現(xiàn)方法。

  ?設(shè)置實現(xiàn)基于IP地址的虛擬主機(jī)服務(wù)

  實現(xiàn)前提
  
  這種方式需要在機(jī)器上設(shè)置IP別名,也就是在一臺機(jī)器的網(wǎng)卡上綁定多個

  IP地址去為多個虛擬主機(jī)服務(wù)。而且要使用這項功能還要確定在你的LINUX內(nèi)核中必須支持IP別名的設(shè)置,否則你還必須重新編譯內(nèi)核。

  下面舉一個擁有兩個虛擬主機(jī)的服務(wù)設(shè)置,以供參考。

  2.配置步驟

  假設(shè),我們用來實現(xiàn)虛擬主機(jī)服務(wù)的機(jī)器,首先已經(jīng)為自己提供了WEB服務(wù),現(xiàn)在將為新的一家公司www.company1.com提供虛擬主機(jī)服務(wù)。

  規(guī)劃IP地址:為虛擬主機(jī)申請新的IP地址。(假設(shè)本機(jī)IP地址為202.101.2.1)

  Www.company1.com 202.101.2.2

  2) 讓ISP作好相應(yīng)的域名解析工作。

  3) 為網(wǎng)卡設(shè)置IP別名:

   /sbin/ifconfig eth0:0 202.101.2.2 netmask 255.255.255.0

  4) 重新設(shè)置“/etc/httpd/conf/httpd.conf”,在文件中加入:

  ServerAdmin webmaster@yourdomain.com

  DocumentRoot /home/httpd/www.company1.com

  ServerName www.company1.com

  ErrorLog /var/log/httpd/www.company1.com/error.log

  5)建立相應(yīng)的目錄。

  mkdir /home/httpd/www.company1.com

  mkdir /var/log/httpd/www.company1.com/error.log

  6)將相應(yīng)的主頁內(nèi)容存放在相應(yīng)的目錄中即可。

  3.不利因素

  這種虛擬主機(jī)的實現(xiàn)方法有一個嚴(yán)重的不足,那就是,每增加一個虛擬主機(jī),就必須增加一個IP地址。而由于IP地址空間已經(jīng)十分緊張,所以通常情況下是無法取得這么多的IP地址的。而且從某種意義上說,這也是一種IP地址浪費(fèi)。

  設(shè)置實現(xiàn)基于名字的虛擬主機(jī)服務(wù)

  而基于名字的虛擬主機(jī)服務(wù),是比較適合使用的一種方案。因為它不需要更多的IP地址,而且配置簡單,無須什么特殊的軟硬件支持?,F(xiàn)代的瀏覽器大都支持這種虛擬主機(jī)的實現(xiàn)方法。當(dāng)然,這也就是指一些早期的客戶端瀏覽器也許不支持這種虛擬主機(jī)的實現(xiàn)方法。

  正是以上原因,我們沒有理由不使用基于名字的虛擬主機(jī)服務(wù)而使用基于IP地址的虛擬主機(jī)服務(wù)。配置基于名字的虛擬主機(jī)服務(wù)需要修改配置文件:“/etc/httpd/conf/httpd.conf”,在這個配置文件中增加以下內(nèi)容。

  NameVirtualHost 202.101.2.1

  ServerAdmin webmaster@yourdomain.com

  DocumentRoot /home/httpd/www.company1.com

  ServerName www.company1.com

  ErrorLog /var/log/httpd/www.company1.com/error.log

  ServerAdmin webmaster@yourdomain.com

  DocumentRoot /home/httpd/www.company2.com

  ServerName www.company2.com

  ErrorLog /var/log/httpd/www.company2.com/error.log

  也就是在基于IP地址的配置基礎(chǔ)上增加一句:NameVirtualHost 202.101.2.1而已。在本例中,為了體現(xiàn)只需要增加一次,所以特別地設(shè)置了兩個虛擬主機(jī)服務(wù)。

  最后也是建立相應(yīng)的目錄,將主頁內(nèi)容放到相應(yīng)的目錄中去就可以了。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?