天天看點

Apache部署虛拟主機

什麼是虛拟主機?

一個 http 服務要配置多個站點,就需要用到虛拟主機。

什麼情況會用到虛拟主機?

部署多個站點,每個站點希望用不同的域名和站點目錄,或者是不同的端口,不同的 IP。

虛拟主機的分類

1)基于域名

2)基于端口

3)基于 IP

因為搭建基于端口,IP的虛拟主機的情況較少,是以本文隻介紹的是搭建基于域名的虛拟主機

虛拟主機的規劃

配置三個基于域名的虛拟主機,域名及站點目錄如下

www.yuci.com      /var/html/www

blog.yuci.com     /var/html/blog

bbs.yuci.com      /var/html/bbs

目前環境介紹

CentOS6.7x86_64,分别關閉了 iptables,selinux

uname -r     

<a href="http://s3.51cto.com/wyfs02/M02/8D/6D/wKioL1icGOGiPT5PAAAGppGqR3k647.png" target="_blank"></a>

在搭建虛拟主機前,系統中需要有安裝好的 Apache 環境

Apache環境搭建:http://aby028.blog.51cto.com/5371905/1896181

一鍵建立三個站點目錄,并分别在其目錄裡建立首頁檔案

mkdir -p /var/html/{www,blog,bbs}

touch /var/html/{www,blog,bbs}/index.html

通過 tree 指令檢視是否建立成功

tree /var/html

<a href="http://s3.51cto.com/wyfs02/M01/8D/6F/wKiom1icGOLzzs0bAAANQSCSE08683.png" target="_blank"></a>

如果報錯需要 yum 安裝一下:yum -y install tree

通過 for 循環分别将對應的域名寫入三個目錄中的 index.html 檔案

for name in www blog bbs;do echo "http://$name.yuci.com" &gt; /var/html/$name/index.html;done     

<a href="http://s3.51cto.com/wyfs02/M00/8D/6F/wKiom1icGOWQZidyAAAOJjW1d9o862.png" target="_blank"></a>

還可以通過 for 循環使用 cat 指令檢查

for name in www blog bbs;do cat /var/html/$name/index.html;done     

<a href="http://s3.51cto.com/wyfs02/M00/8D/6D/wKioL1icGObzi9T2AAAVK-ILBWg746.png" target="_blank"></a>

編輯虛拟主機的配置檔案

vim /application/apache/conf/extra/httpd-vhosts.conf

<a href="http://s3.51cto.com/wyfs02/M01/8D/6D/wKioL1icGOezBxeoAABLnATnFKA864.png" target="_blank"></a>

編輯 apache 的主配置檔案

vim /application/apache/conf/httpd.conf

<a href="http://s3.51cto.com/wyfs02/M02/8D/6D/wKioL1icGOfCkVj4AAAKMs9rDz4905.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/8D/6F/wKiom1icGOjRum9RAAAIL-addjk721.png" target="_blank"></a>

在 httpd.conf 檔案的最後加入以下字段

&lt;Directory "/var/html"&gt;

         AllowOverride None

         Order allow,deny

         Allow from all

&lt;/Directory&gt;

<a href="http://s3.51cto.com/wyfs02/M00/8D/6D/wKioL1icGOjRXR6SAAANoEDM2ss001.png" target="_blank"></a>

檢車文法沒有報錯後,平滑重新開機

/application/apache/bin/apachectl -t

/application/apache/bin/apachectl graceful

<a href="http://s3.51cto.com/wyfs02/M01/8D/6F/wKiom1icGOnixDkqAAASDpa4eBU480.png" target="_blank"></a>

編輯本機的 hosts 檔案

hosts 檔案路徑 C:\Windows\System32\drivers\etc

也可以通過 cmd 執行 drivers

編輯内容如下:位址在前,域名在後

<a href="http://s3.51cto.com/wyfs02/M01/8D/6D/wKioL1icGO_yE8kGAAAHIUb0E18708.png" target="_blank"></a>

當本機分别 ping 三個域名,檢測是否可以 ping 通

ping www.yuci.com

<a href="http://s3.51cto.com/wyfs02/M02/8D/6D/wKioL1icGPDxfw2MAAAQTd7T3fg559.png" target="_blank"></a>

ping blog.yuci.com

<a href="http://s3.51cto.com/wyfs02/M01/8D/6D/wKioL1icGPDBJM9TAAAQDQhmmHU631.png" target="_blank"></a>

ping bbs.yuci.com

<a href="http://s3.51cto.com/wyfs02/M00/8D/6F/wKiom1icGPHCXt9vAAAQNvpxU-k616.png" target="_blank"></a>

通過浏覽器分别通路三個域名,均可以正常通路并正确看到内容

本文轉自   mlwzby   51CTO部落格,原文連結:http://blog.51cto.com/aby028/1896389

繼續閱讀