Apache VirtualHost配置

以lampp環境爲例子,其餘環境只是配置文件的路徑不一樣。web

先要在   lampp/etc/httpd.conf ( 這個是Apache 總的配置文件)中,將虛擬路徑的註釋去掉。服務器

#Include etc/extra/httpd-vhosts.conf域名

使httpd-vhosts.conf文件起做用,或者直接在httpd.conf中寫配置也能夠,但不建議這麼作。配置

相關的配置有:Listen  NameVirtualHost  <VirtualHost>List

1.  Listen  要監聽的端口,多個端口,要寫多個Listen;不然Apache啓動的時候,不會啓動相應的套接字。權限

   好比  請求

           Listen 80lamp

           Listen 8080配置文件

2.NameVirtualHost 若是沒有這個,<VirtualHost>標籤就沒什麼做用。hosts

 (感謝okiwill的指正,這裏特指基於域名訪問的狀況,如果基於IP訪問的,以第一個指定IP的VirtualHost爲準,每一個IP能夠單獨指定)

  一個NameVirtualHost 能夠對用多個<VirtualHost>,每一個<VirtualHost>必須有本身的NameVirtualHost(我猜的)

   NameVirutalHost *:80

   制定這個主機的IP和端口,若是服務器上有多個IP,就能夠制定某個IP的某個端口是哪一個 主機。

    (新版的Apache已經去除了NameVirtualHost 這個配置,由於確實沒什麼用,參數在VirtualHost中都已經指明瞭)

3  最關鍵的VirtualHost

   重要:Apache 在接受到請求時,首先會默認第一個VirtualHost,而後再找匹配的,若是沒有匹配的,就是第一個VirtualHost起做用。

   所以在httpd.conf中,將<Dicrectory />(這個是全部目錄的默認配置)

   和 <Direcotry /opt/lampp/htdocs>的權限,都是deny from all.做爲默認。

   因此,個人第一個VirtualHost是

  <VirtualHost *:80>

   ServerName *

   DocumentRoot </opt/lampp/htdocs/guest>

   <Directory /opt/lampp/htdocs/guest>

     Order deny,allow

     Allow from all

   </Direcotry>

  <VirtualHost/>

後面的,依次添加就能夠

  <VirtualHost *:80>

   ServerName www.myweb1.com

   DocumentRoot </opt/lampp/htdocs/myweb1>

   <Directory /opt/lampp/htdocs/myweb1>

     Order deny,allow

     Allow from all

   </Direcotry>

  <VirtualHost/>

相關文章
相關標籤/搜索