Apache 默認存放網(wǎng)頁根目錄,是在/var/www/html/下面,也就是說,默認情況下,一個服務器,只能跑一個網(wǎng)站。但是一臺性能還算不錯的服務器,如果只跑一個網(wǎng)站,豈不是有點浪費?其實 Apache 是支持虛擬主機功能的,以虛擬主機模式可以跑 N 個網(wǎng)站。
Apache 開啟虛擬主機功能的方式也很簡單,以 CentOS 6.3 和 Apache 2.2 為例, 在 /etc/httpd/conf.d/ 目錄下創(chuàng)建一個vhost.conf配置文件,內(nèi)容格式如下:
NameVirtualHost *:80<VirtualHost *:80> ServerName aaa.com ServerAlias www.aaa.com DocumentRoot /srv/www/aaa.com/public_html/</VirtualHost><VirtualHost *:80> ServerName bbb.com ServerAlias www.bbb.com DocumentRoot /srv/www/bbb.com/public_html/</VirtualHost>
然后為這兩個網(wǎng)站創(chuàng)建相應的目錄:
$ mkdir -p /srv/www/aaa.com/public_html$ mkdir -p /srv/www/bbb.com/public_html
分別在以上兩個域名中,添加一個 A 記錄指向該服務器的 IP 地址,然后重啟 Apache 服務器:
$ service httpd restart
如果需要記錄訪問日志和錯誤日志,以及實現(xiàn) URL 重寫等功能,還需做如下修改:
<VirtualHost *:80> ServerAdmin [email protected] ServerName aaa.com ServerAlias www.aaa.com DocumentRoot /srv/www/aaa.com/public_html/ ErrorLog /srv/www/aaa.com/logs/error.log CustomLog /srv/www/aaa.com/logs/access.log combined <Directory /srv/www/aaa.com/public_html/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory></VirtualHost>
至此,虛擬主機創(chuàng)建完成,以不同的域名訪問,服務器會返回不同的內(nèi)容。
另外需要說明的是,如果此時還用 IP 地址來訪問該服務器,返回的內(nèi)容將不再是/var/www/html/中的內(nèi)容,而是vhost.conf配置文件中的第一個虛擬主機的內(nèi)容。
新聞熱點
疑難解答