首頁> 運維> Apache> 主體

配置apache虛擬主機的三種方法

王林
發布: 2020-10-23 16:09:50
轉載
9304 人瀏覽過

配置apache虛擬主機的三種方法

Apache 設定虛擬主機的三種方法

(推薦教學:nginx教學

記事本開啟httpd. conf文件,該文件在apache的目錄下,如: D:\AppServ\Apache2.2\conf,修改如下兩處:

LoadModule vhost_alias_module modules/mod_vhost_alias.so //去掉前面的#,意思是启用apache的虚拟主机功能,第203行 Include conf/extra/httpd-vhosts.conf //去掉#的意思是从httpd-vhosts.conf这个文件导入虚拟主机配置
登入後複製

配置虛擬主機後不能用localhost 存取

只要把httpd.conf檔的ServerName localhost:80 那行註解掉就可以了

一、基於IP

假設伺服器有個IP位址為192.168.1.10,使用ifconfig在同一個網路介面eth0上綁定3個IP:

[root@localhost root]# ifconfig eth0:1 192.168.1.11 [root@localhost root]# ifconfig eth0:2 192.168.1.12 [root@localhost root]# ifconfig eth0:3 192.168.1.13
登入後複製

修改hosts文件,新增三個網域與之一一對應:

192.168.1.11 www.test1.com 192.168.1.12 www.test2.com 192.168.1.13 www.test3.com
登入後複製

建立虛擬主機存放網頁的根目錄,如在/www目錄下建立test1、test2、test3資料夾,其中分別存放1.html、2.html、3.html

/www/test1/1.html /www/test2/2.html /www/test3/3.html
登入後複製

在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下設定:

   ServerName www.test1.com   DocumentRoot /www/test1/        Options Indexes FollowSymLinks      AllowOverride None      Order allow,deny      Allow From All        ServerName www.test1.com   DocumentRoot /www/test2/        Options Indexes FollowSymLinks      AllowOverride None      Order allow,deny      Allow From All        ServerName www.test1.com   DocumentRoot /www/test3/        Options Indexes FollowSymLinks      AllowOverride None      Order allow,deny      Allow From All    
登入後複製

大功告成,測試下每個虛擬主機,分別造訪www.test1.com、www.test2.com、www.test3.com

二、基於主機名稱

設定網域名稱映射同一個IP,修改hosts:

127.0.0.1 gm.998gx.com 127.0.0.1 www.998gx.com 127.0.0.1 r.998gx.com 127.0.0.1 localhost
登入後複製

跟上面一樣,建立虛擬主機存放網頁的根目錄

/www/dxGM/index.php /www/dxskadmin/index.php /www/88qp/index.php
登入後複製

在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入以下設定:

為了使用網域名稱的虛擬主機,必須指定伺服器IP位址(和可能的連接埠)來使主機接受請求。可以用NameVirtualHost指令來進行設定。如果伺服器上所有的IP位址都會用到, 你可以用*當NameVirtualHost的參數。在NameVirtualHost指令中指明IP位址並不會使伺服器自動偵聽那個IP位址。這裡設定的IP位址必須對應伺服器上的一個網路介面。

下一步是為你建立的每個虛擬主機設定配置區塊,的參數與NameVirtualHost指令的參數是一樣的。每個定義區塊中,至少都會有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的內容存在於檔案系統的什麼地方。

如果在現有的web伺服器上增加虛擬主機,必須也為現存的主機建造定義區塊。其中ServerName和DocumentRoot所包含的內容應該與全域的保持一致,並且要放在設定檔的最前面,扮演預設主機的角色。

 DocumentRoot "D:/phpstudy/WWW/dxGM" ServerName gm.998gx.com   DocumentRoot "D:/phpstudy/WWW/88qp" ServerName www.998gx.com   DocumentRoot "D:/phpstudy/WWW/dxskadmin" ServerName r.998gx.com   DocumentRoot "D:/phpstudy/WWW" ServerName localhost 
登入後複製

測試下每個虛擬主機,分別造訪gm.998gx.com、www.998gx.com、r.998gx.com

三、基於連接埠

修改設定檔
  將原來的

Listen 80
改為
  Listen 80
   Listen 8080

#更改虛擬主機設定:

 DocumentRoot /var/www/test1/ ServerName www.test1.com   DocumentRoot /var/www/test2 ServerName www.test2.com 
登入後複製

以上是配置apache虛擬主機的三種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!