Apache 默認(rèn)存放網(wǎng)頁(yè)根目錄,是在/var/www/html/下面,也就是說(shuō),默認(rèn)情況下,一個(gè)服務(wù)器,只能跑一個(gè)網(wǎng)站。但是一臺(tái)性能還算不錯(cuò)的服務(wù)器,如果只跑一個(gè)網(wǎng)站,豈不是有點(diǎn)浪費(fèi)?其實(shí) Apache 是支持虛擬主機(jī)功能的,以虛擬主機(jī)模式可以跑 N 個(gè)網(wǎng)站。
Apache 開(kāi)啟虛擬主機(jī)功能的方式也很簡(jiǎn)單,以 CentOS 6.3 和 Apache 2.2 為例, 在 /etc/httpd/conf.d/ 目錄下創(chuàng)建一個(gè)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>
然后為這兩個(gè)網(wǎng)站創(chuàng)建相應(yīng)的目錄:
$ mkdir -p /srv/www/aaa.com/public_html$ mkdir -p /srv/www/bbb.com/public_html
分別在以上兩個(gè)域名中,添加一個(gè) A 記錄指向該服務(wù)器的 IP 地址,然后重啟 Apache 服務(wù)器:
$ service httpd restart
如果需要記錄訪問(wèn)日志和錯(cuò)誤日志,以及實(shí)現(xiàn) URL 重寫(xiě)等功能,還需做如下修改:
<VirtualHost *:80> ServerAdmin webmaster@aaa.com 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>
至此,虛擬主機(jī)創(chuàng)建完成,以不同的域名訪問(wèn),服務(wù)器會(huì)返回不同的內(nèi)容。
另外需要說(shuō)明的是,如果此時(shí)還用 IP 地址來(lái)訪問(wèn)該服務(wù)器,返回的內(nèi)容將不再是/var/www/html/中的內(nèi)容,而是vhost.conf配置文件中的第一個(gè)虛擬主機(jī)的內(nèi)容。
新聞熱點(diǎn)
疑難解答
圖片精選