apache虛擬主機三種配置方式小結
使用虛擬主機必須要注釋掉httpd的主機模塊,即修改httd.conf的主配置文件,找到,將這段內容注釋掉就可以了。
apche的虛擬主機配置一共有三種,即基于IP、基于port、以及基于域名的。為了后面試驗,需要配置兩個IP地址(我主機現(xiàn)在的IP地址是10.10.50.100),命令如下:
#ip addr add 10.10.50.101/16 dev eth0
#ip addr add 10.10.50.102/16 dev eth0
關于如何配置IP地址,此處不再贅述,后面我會專門寫篇關于IP地址的文章。
第一種:基于IP
apache默然安裝的時候,主配置文件位于/etc/httpd/conf/下的httpd.conf,可以在該文件的最下面來添加虛擬主機,但是我習慣于重新建立一個虛擬主機配置文件,這樣方便與日后的管理操作。
1.創(chuàng)建虛擬主機配置文件
# mkdir /etc/httpd/conf.d/virtual.conf
2.編輯該文件,添加如下內容
ServerName www.dbjr.com.cn
DocumentRoot "/www/jb51.net"
ServerName www.jbzj.com
DocumentRoot "/www/jbzj.com"
------保存退出即可,這是最簡單的配置
3.創(chuàng)建跟目錄文件
#mkdir /www/{jb51.net,jbzj.com}
4.在跟目錄文件下創(chuàng)建主頁文件,用于后面的訪問測試
#vi /www/jbzj.com/index.html,添加一下內容
This is jb51 test
保存退出。然后編輯另一個目錄下面的主頁文件
#vi /www/jbzj.com/index.html,添加一下內容
This is jbzj test
5.重啟httpd服務(重啟之前最好先檢查一下語法是否有問題httpd -t)
service httpd restart
6.客戶端訪問測試
分別在瀏覽器內輸入:
10.10.50.100和10.10.50.101
會看到我們之間定義的主頁。
第二種 基于端口Port的虛擬主機
同樣使用上面創(chuàng)建的vitual.conf作為配置文件,假設我們此時使用80和8080端口,IP地址為10.10.50.102
1.修改httpd的主配置文件,vi /etc/httpd/conf/httpd.conf
首先將Listen 80前面的注釋去掉,然后再添加一行Listen 8080,保存退出。
2.修改虛擬主機配置文件,添加如下內容
ServerName www.dbjr.com.cn
DocumentRoot "/www/jb51.net"
ServerName www.jb51.org
DocumentRoot "/www/jb51.org"
3.創(chuàng)建所需的根文件
#mkdir /www/{jb51.net,jb51.org}
4.創(chuàng)建各根文件的默認訪問頁面,創(chuàng)建過程同第一種步驟四,這是把里面的內容換成你能識別的就可以了。我使用的分別是jb51.net和jb51.org兩個表示符。
5.檢查語法
httpd -t
6.重啟服務
7.訪問測試
分別在瀏覽器上輸入10.10.50.102以及10.10.50.102:8080,因為瀏覽器默認是使用80端口,所以當訪問80端口的網站時可以不用指定端口。
第三種 基于域名的虛擬主機
1.基于域名的虛擬主機,首先要在虛擬配置文件中指定IP:PORT,即修改虛擬配置文件,在第一行添加NameVirtualHost 10.10.50.100:80
然后在下面添加以下信息
ServerName hello.jb51.net
DocumentRoot "/hello/jb51.net"
ServerName hello.jb51.org
DocumentRoot "/hello/jb51.org"
2.創(chuàng)建所需的跟文件目錄
mkdir /hello/{jb51.net,jb51.org}
3.編輯根文件目錄下面的主頁文件,參照上面的方法
4.修改客戶端主機的hosts文件,確??梢哉=馕鲈蹅冊O定的兩個域名
hosts文件位于/C/windows/Drivers/etc/hosts(好像是的,記得不太清楚了,童鞋們可以百度一下)
添加以下兩列
10.10.50.100 hello.jb51.net
10.10.50.100 hello.jb51.org
5.通過ping命令確保可以正常解析
即ping hello.jb51.net和ping hello.jb51.org都顯示是通的,且返回值為10.10.50.100即可。
6.重啟httpd服務
7.瀏覽器測試
分別在瀏覽器里輸入hello.jb51.net和hello.jb51.org然后查看主頁面是不是我們之前的標識頁面即可。
補充:
1.虛擬主機也支持訪問日志和錯誤日志的位置重定義,即只需要在DocumentRoot 下面添加進日志信息條目即可,比如我要讓hello.jb51.org的訪問日志和錯誤日志都重定位到/hello/jb51.org/log下面,需要添加這行
CutomLog "/hello.jb51.org/log" combined
ErrorLog "/hello/jb51.org/log"
保存退出之后,再創(chuàng)建jb51.org下面的log目錄即可。
2.虛擬主機也支持返回服務器的狀態(tài)信息
例如我要顯示服務器,只要在httpd的主配置文件中將這段信息的內容去掉注釋即可,將Allow from后面添加你的IP地址,這樣只允許你自己訪問查看。查看的方法:在瀏覽器輸入hello.jb51.org/server-status即可查看。即如果說Directory是定義了文件路徑的話,那么Location則定義的是URL路徑,任意一個路徑后面添加server-status都可以查看服務器信息。
3.虛擬主機同樣支持真實主機一樣的訪問限制
相關文章
詳解輕巧AMH虛擬主機面板安裝使用和GCE云空間搭建網站實例
這篇文章主要介紹了輕巧AMH虛擬主機面板安裝使用和GCE云空間搭建網站實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07詳解CentOS 6.5搭建Redis3.2.8單機分布式集群
這篇文章主要介紹了詳解CentOS 6.5搭建Redis3.2.8單機分布式集群,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05關閉linux終端還讓程序繼續(xù)執(zhí)行的實現(xiàn)方式
這篇文章主要介紹了關閉linux終端還讓程序繼續(xù)執(zhí)行的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12