- LAMP網(wǎng)站開發(fā)黃金組合Linux+Apache+MySQL+PHP
- 楊明華等編著
- 1035字
- 2018-12-29 19:23:36
3.5 虛擬主機(jī)的設(shè)置
Web服務(wù)器提供的另一個(gè)服務(wù)就是虛擬域的主機(jī)功能,也稱為虛擬主機(jī)。虛擬主機(jī)是一個(gè)完整的Web站點(diǎn),有自己的域名,但是在同一臺(tái)計(jì)算機(jī)上作為多個(gè)Web站點(diǎn)的主機(jī)。Apache通過在httpd.conf文件中設(shè)置指令的簡(jiǎn)單方法實(shí)現(xiàn)了該功能。
有兩種方法在Apache服務(wù)器上設(shè)置虛擬主機(jī)。可以使用一個(gè)IP地址對(duì)應(yīng)一個(gè)CNAME (Computer Name)的方法,也可以用一個(gè)IP地址對(duì)應(yīng)多個(gè)CNAME。Apache有不同的指令集處理這些選項(xiàng)的每一種。
3.5.1 一個(gè)IP地址對(duì)應(yīng)一個(gè)CNAME(IP型虛擬主機(jī))
假設(shè)服務(wù)器的IP地址是15.2.40.9,欲在該機(jī)器上建立www.gong.com的虛擬主機(jī)。用Apache很容易實(shí)現(xiàn)這個(gè)功能。在httpd.conf文件的最后面可以看到類似于如下的代碼:
# # VirtualHost: If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs-2.0/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # #NameVirtualHost * # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # #<VirtualHost *> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost>
修改上述代碼中<VirtualHost *>和</VirtualHost>之間的部分,即可實(shí)現(xiàn)一個(gè)IP地址映射到一個(gè)虛擬主機(jī)上。
//設(shè)置虛擬主機(jī) <VirtualHost 15.2.40.9> ServerAdmin webmaster@gong.com //虛擬主機(jī)網(wǎng)絡(luò)管理員郵箱 DocumentRoot /www/docs/gong //虛擬主機(jī)主目錄 ServerName gong.com //虛擬主機(jī)名稱 ErrorLog logs/gong.com-error_log //虛擬主機(jī)錯(cuò)誤日志文件 CustomLog logs/gong.com-access_log common //虛擬主機(jī)訪問日志 </VirtualHost>
3.5.2 一個(gè)IP地址對(duì)應(yīng)多個(gè)CNAME(名字型虛擬主機(jī))
Web服務(wù)器可以獲得訪問它的瀏覽器所在主機(jī)的名稱。基于這些名稱,Apache可以被配置成能提供多個(gè)Web站點(diǎn)服務(wù)的形式,從而使DNS將這些站點(diǎn)都解析到同一個(gè)IP地址。用戶可以試著在瀏覽器中輸入“www.163.com”和“www.netease.com”,可以發(fā)現(xiàn)返回的頁面完全相同。這是因?yàn)榫W(wǎng)易公司同時(shí)注冊(cè)了這兩個(gè)域名,而這兩個(gè)域名對(duì)應(yīng)的IP地址以及網(wǎng)站頁面又完全一樣。類似于這種兩個(gè)不同域名的情況完全可以用一個(gè)Apache服務(wù)器實(shí)現(xiàn)。在Apache的虛擬主機(jī)設(shè)置部分,將兩個(gè)不同域名映射到同一個(gè)IP地址,而且DocumentRoot也配置相同即可(當(dāng)然網(wǎng)易公司并不一定是采用的Apache服務(wù)器,即使采用Apache服務(wù)器也可能是在不同IP地址的機(jī)器上分別安裝Web服務(wù)器)。修改上述代碼中<VirtualHost*>和</VirtualHost>之間的部分,即可以實(shí)現(xiàn)一個(gè)IP地址映射到多個(gè)虛擬主機(jī)上。
//設(shè)置第一個(gè)虛擬主機(jī) <VirtualHost 15.2.40.9> ServerAdmin webmaster@gong.com //第一個(gè)虛擬主機(jī)網(wǎng)絡(luò)管理員郵箱 DocumentRoot /www/docs/gong //第一個(gè)虛擬主機(jī)主目錄 ServerName gong.com //第一個(gè)虛擬主機(jī)名稱 ErrorLog logs/gong.com-error_log //第一個(gè)虛擬主機(jī)錯(cuò)誤日志文件 CustomLog logs/gong.com-access_log common //第一個(gè)虛擬主機(jī)訪問日志 </VirtualHost> <VirtualHost 15.2.40.9> ServerAdmin webmaster@chuck.com //第二個(gè)虛擬主機(jī)網(wǎng)絡(luò)管理員郵箱 DocumentRoot /www/docs/ chuck.com //第二個(gè)虛擬主機(jī)主目錄 ServerName chuck.com //第二個(gè)虛擬主機(jī)名稱 ErrorLog logs/chuck.com-error_log //第二個(gè)虛擬主機(jī)錯(cuò)誤日志文件 CustomLog logs/chuck.com-access_log common //第二個(gè)虛擬主機(jī)訪問日志 </VirtualHost>
★ 注意 ★
如果系統(tǒng)只有一塊網(wǎng)絡(luò)適配卡,那么在<VirtualHost >中必須配置完全一樣的IP地址才能保證在同一臺(tái)機(jī)器實(shí)現(xiàn)不同的虛擬主機(jī)。
- 現(xiàn)代測(cè)控系統(tǒng)典型應(yīng)用實(shí)例
- Mastering Mesos
- 輕松學(xué)C#
- 7天精通Dreamweaver CS5網(wǎng)頁設(shè)計(jì)與制作
- 腦動(dòng)力:PHP函數(shù)速查效率手冊(cè)
- 精通Excel VBA
- 精通特征工程
- 步步圖解自動(dòng)化綜合技能
- 傳感器與新聞
- INSTANT Munin Plugin Starter
- 過程控制系統(tǒng)
- 筆記本電腦電路分析與故障診斷
- Photoshop CS4數(shù)碼攝影處理50例
- 基于Proteus的PIC單片機(jī)C語言程序設(shè)計(jì)與仿真
- Redash v5 Quick Start Guide