標籤:開啟 host 80連接埠 連接埠配置 包含 指定 include 基於網域名稱 custom
在一個Apache伺服器上可以配置多個虛擬機器主機,實現一個伺服器提供多網站服務,其實就是訪問同一個伺服器上的不同目錄。Apache虛擬機器主機配置有3中方法:基於IP配置、基於網域名稱配置和基於連接埠配置,這裡介紹基於網域名稱配置和基於連接埠配置,基於IP配置方法類似。
1. Apache基於網域名稱配置虛擬機器主機:
開啟Apache安裝目錄下的設定檔conf/extra/httpd-vhosts.conf,添加如下配置資訊:
<VirtualHost _default_:80>
DocumentRoot "D:/wamp/www"
ServerName www.jtw.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/wamp/www2"
ServerName www.wujuntian.com
ErrorLog "logs/wujuntian.log"
CustomLog "logs/wujuntian.log" common
<Directory "D:/wamp/www2">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
這裡配置了兩個虛擬機器主機,其中第一個是預設虛擬機器主機,找不到虛擬機器主機的網域名稱訪問也由這個虛擬機器主機來提供服務。這兩個主機使用的都是80連接埠,第一個虛擬機器主機指定網域名稱為“www.jtw.com”,伺服器目錄為“D:/wamp/www”,第二個虛擬你主機指定網域名稱為“www.wujuntian.com”,伺服器目錄為“D:/wamp/www2”。
然後在Apache主設定檔conf/httpd.conf中包含這個設定檔:
Include conf/extra/httpd-vhosts.conf
最後重啟Apache伺服器,就可以通過訪問兩個不同的網域名稱訪問同一個伺服器上的兩個目錄了。
注意:如果只是在本地進行配置測試的話,需要在hosts檔案中加入網域名稱到本地IP地址的映射(hosts檔案位置:C:\Windows\System32\drivers\etc):
127.0.0.1 www.jtw.com
127.0.0.1 www.wujuntian.com
2. Apache基於連接埠配置虛擬機器主機:
首先在Apache設定檔conf/httpd.conf中修改配置讓Apache伺服器監聽多個連接埠:
Listen 8080
Listen 80
這裡監聽兩個連接埠,配置兩個虛擬機器主機。
然後在設定檔conf/extra/httpd-vhosts.conf,添加如下配置資訊:
<VirtualHost _default_:80>
DocumentRoot "D:/wamp/www"
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot "D:/wamp/www2"
<Directory "D:/wamp/www2">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
在Apache主設定檔conf/httpd.conf中包含這個設定檔:
Include conf/extra/httpd-vhosts.conf
最後重啟Apache伺服器,就可以通過同一個IP地址的不同連接埠來訪問同一個伺服器上的兩個不同目錄了。
注意:Web伺服器預設使用的是80連接埠,所以訪問80連接埠的網站時可以不用加上“:80”,但是訪問其他連接埠時必須帶上連接埠號碼。
在<VirtualHost></VirtualHost>段中的配置可以覆蓋外面的配置。
Apache虛擬機器主機配置