上篇文章介紹了http協議的基於使用者的訪問控制實現,當然httpd服務還有更重要的功能,就是虛擬主機的實現。我們可以通過設定虛擬主機實現不同的方式訪問http,可以得到不同的反饋,這是http服務重要的一點。
虛擬主機的實現有三種方法:
基於ip:埠為預設埠,ip位址不同
基於埠:ip位址相同,埠號不同
基於fqdn全稱網域名稱
1、首先準備好3個位址的不同訪問主頁,以便於區分。
2、為了修改方便,在/etc/httpd/conf.d/目錄下建立ip.conf子配置檔案
只是ip位址不同,訪問埠相同
【實驗】基於埠的虛擬主機實現
1、基於埠的虛擬主機首先要保證的是ip位址相同,只是監聽埠不同;這裡可以自定義埠號,需要注意的是:0-1023埠僅管理員可以使用,普通使用者沒有許可權。
需要在配置檔案中首先宣告監聽這些埠,然後在進行配置:
2、訪問在ip位址相同的情況下不同埠的主頁面,得到三個不同頁面,證明基於埠的虛擬主機的實現成功。
【實驗】基於fqdn的虛擬主機實現
1、基於全稱網域名稱解析的虛擬主機是使用較多的一種方法,使用者訪問不同的網域名稱得到不同的主頁,從使用者體驗方面來說比較好。
配置檔案中首先需要宣告namevirtualhost 監聽80埠:
其次與上面配置不同的是需要再加一行關鍵字servername來分別定義:
2、在虛擬機器中,我們為了測試在名字解析檔案中加入三個servername:
3、分別訪問三個fqdn位址,得到不同的主站點頁面:
4、上述所說配置都是必要的字段配置,當然在配置檔案中我們也可以定義其他的關鍵字來使得服務更加完善。例如:定義日誌檔案的存放路徑和格式:
分別定義訪問日誌和錯誤日誌,更加容易檢視:
使用tail -f 動態監控日誌檔案:
Apache實現動態虛擬主機
經常在開發中為apache web server新增虛擬主機 方便多個專案的 同時運營,但是每次增加新的專案時都得重新配置增加virtualhost 虛擬主機部分,時間久了virtualhost虛擬主機部分也多了,看著頭疼。如果使用動態虛擬主機,則方便多了,不用每次都得配置,僅僅只需要增加乙個資料夾...
Apache虛擬主機的實現方式
apache虛擬主機的實現方式有3種。基於ip的虛擬主機 基於埠的虛擬主機 基於網域名稱的虛擬主機 配置環境 系統 centos7.5 工具 xshell6 配置準備 1.安裝httpd 2.檢視安裝了內容 3 配置selinux檔案,selinux disabled。4 關閉防火牆 systemc...
LAMP虛擬主機配置(基於網域名稱的虛擬主機)
虛擬主機配置包括兩種 基於網域名稱的虛擬主機和基於ip的虛擬主機,一下主要說明 基於網域名稱的虛擬主機 配置 virtual hosts 配置啟用虛擬主機 原有namevirtualhost 這裡影響配置結果,基於主機名的虛擬主機需要指定乙個固定ip,否則網域名稱目錄無效 namevirtualho...