Apache虛擬主機配置
Apache虛擬主機配置
在一個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虛擬主機配置