1. 程式人生 > >Linux-Apache默認虛擬主機

Linux-Apache默認虛擬主機

oca a20 vhosts 錯誤日誌 local apache RoCE 方便 dmi

一臺服務器可以訪問多個網站,每個網站都是一個虛擬主機
概念:域名(主機名)、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 [email protected] #定義管理員郵箱,存在與否,意義不大
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代表一個站點,都是虛擬主機,

Linux-Apache默認虛擬主機