Linux-Apache預設虛擬主機
一臺伺服器可以訪問多個網站,每個網站都是一個虛擬主機
概念:域名(主機名)、DNS、解析域名、hosts
任何一個域名解析到這臺機器,都可以訪問的虛擬主機就是預設虛擬主機
網站更目錄
域名
#windows臨時將一個域名指向到某個伺服器上去
虛擬主機,去掉行首的#
vim /usr/local/apache2/conf/httpd.conf //搜尋httpd-vhost,去掉#
因為,一個配置檔案,對於我不太方便,方式需要開啟虛擬主機,這樣可以配置對個servername
下圖路徑為虛擬主機配置檔案
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //改為如下
下述中,則代表每個虛擬主機,對應一個網站,
<VirtualHost :80>
ServerAdmin
DocumentRoot "/data/wwwroot/aming.com" #定義網站的根目錄所在路徑
ServerName aming.com #域名,只能寫一個
ServerAlias www.aming.com www.abc.com # 可設定多個域名,域名的別名
ErrorLog "logs/aming.com-error_log" #定義錯誤日誌
CustomLog "logs/aming.com-access_log" common #定義訪問日誌
####如果虛擬主機配置檔案生效,則之前所定義的(下圖所示)會失效
</VirtualHost>
<VirtualHost :80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
</VirtualHost>
/usr/local/apache2/bin/apachectl –t #檢測語法是否錯誤
/usr/local/apache2/bin/apachectl graceful #重新載入
預設主機:
任何域名,只要解析過來,只要指向本機的ip,如果訪問的域名不在配置檔案裡面,則會走預設主機
crul -x192.168.1.30:80 abc.com
總結,當在主配置檔案中httpd.conf,開啟虛擬主機配置檔案,虛擬主機生效是,則主配置檔案裡的網站根目錄所在路徑和域名則會失效。
虛擬主機配置檔案,可定義多個VirtualHost,而每一個VirtualHost代表一個站點,都是虛擬主機,