天天看點

Apache預設虛拟主機

一台伺服器可以通路多個網站,每個網站都是一個虛拟主機

DocumentRoot "/data/wwwroot/www.123.com" //定義了網站的根目錄所在位置

概念:域名(主機名)、DNS、解析域名、hosts

任何一個域名隻要指向了這台機器ip,都可以通路到這個站點。這個站點就叫預設虛拟主機。

為了便于管理(一個預設主機顯然不合适),打開一個虛拟主機配置檔案

vim /usr/local/apache2/conf/httpd.conf //搜尋httpd-vhost,去掉#去掉#就生效httpd.conf ducumentRoot和ServerName失效

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //改為如下(

一對

<VirtualHost *:80>

</VirtualHost>

就代表一個虛拟主機,就是一個網站)

ServerAdmin [email protected] //定義管理者郵箱(不要也可)

DocumentRoot "/data/wwwroot/aming.com" //定義網站根目錄

ServerName aming.com //網站域名

ServerAlias www.aming.com //别名。一個網站可以有多個域名通路,通路内容一樣的

ErrorLog "logs/aming.com-error_log" //錯誤日志

CustomLog "logs/aming.com-access_log" common //通路日志

mkdir /data/wwwroot/abc.com -p

mkdir /data/wwwroot/111.com -p

cat /data/wwwroot/111.com/index.php //網站預設的首頁就是index.php

<?php

echo "111.com"

?>

cat /data/wwwroot/abc.com/index.php

echo "abc.com";

/usr/local/apache2/bin/apachectl –t

/usr/local/apache2/bin/apachectl graceful

總結:

1.隻要conf/httpd.conf檔案裡的Include conf/extra/httpd-vhosts.conf打開虛拟主機生效。

那麼檔案的ServerName和Documentroot失效

3.虛拟主機一旦打開裡面可以定義很多個<VirtualHost *:80></VirtualHost>,每一個VirtualHost代表一個站點,就是一個虛拟機。都有一個對應的ServerName和Documentroot。比較特殊的就是預設虛拟主機,無論通路什麼域名(域名隻有不在ServerName出現)隻要解析到這個ip上,都會通路這個虛拟主機

本文轉自 蝦米的春天 51CTO部落格,原文連結:http://blog.51cto.com/lsxme/2051891,如需轉載請自行聯系原作者