分享三種Apache配置虛擬主機的方式
一、基于IP
1. 假設(shè)服務(wù)器有個IP地址為192.168.1.10,使用ifconfig在同一個網(wǎng)絡(luò)接口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
2. 修改hosts文件,添加三個域名與之一一對應(yīng):
192.168.1.11 www.test1.com
192.168.1.12 www.test2.com
192.168.1.13 www.test3.com
3. 建立虛擬主機存放網(wǎng)頁的根目錄,如在/www目錄下建立test1、test2、test3文件夾,其中分別存放1.html、2.html、3.html
/www/test1/1.html
/www/test2/2.html
/www/test3/3.html
4. 在httpd.conf中將附加配置文件httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下配置:
<VirtualHost 192.168.1.11:80> ServerName www.test1.com DocumentRoot /www/test1/ <Directory "/www/test1"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost> <VirtualHost 192.168.1.12:80> ServerName www.test1.com DocumentRoot /www/test2/ <Directory "/www/test2"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost> <VirtualHost 192.168.1.13:80> ServerName www.test1.com DocumentRoot /www/test3/ <Directory "/www/test3"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost>
5. 大功告成,測試下每個虛擬主機,分別訪問www.test1.com、www.test2.com、www.test3.com
二、基于主機名
1. 設(shè)置域名映射同一個IP,修改hosts:
192.168.1.10 www.test1.com
192.168.1.10 www.test2.com
192.168.1.10 www.test3.com
2. 跟上面一樣,建立虛擬主機存放網(wǎng)頁的根目錄
/www/test1/1.html
/www/test2/2.html
/www/test3/3.html
3. 在httpd.conf中將附加配置文件httpd-vhosts.conf包含進來,接著在httpd-vhosts.conf中寫入如下配置:
為了使用基于域名的虛擬主機,必須指定服務(wù)器IP地址(和可能的端口)來使主機接受請求??梢杂肗ameVirtualHost指令來進行配置。 如果服務(wù)器上所有的IP地址都會用到, 你可以用*作為NameVirtualHost的參數(shù)。在NameVirtualHost指令中指明IP地址并不會使服務(wù)器自動偵聽那個IP地址。 這里設(shè)定的IP地址必須對應(yīng)服務(wù)器上的一個網(wǎng)絡(luò)接口。
下一步就是為你建立的每個虛擬主機設(shè)定<VirtualHost>配置塊,<VirtualHost>的參數(shù)與NameVirtualHost指令的參數(shù)是一樣的。每個<VirtualHost>定義塊中,至少都會有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的內(nèi)容存在于文件系統(tǒng)的什么地方。
如果在現(xiàn)有的web服務(wù)器上增加虛擬主機,必須也為現(xiàn)存的主機建造一個<VirtualHost>定義塊。其中ServerName和DocumentRoot所包含的內(nèi)容應(yīng)該與全局的保持一致,且要放在配置文件的最前面,扮演默認主機的角色。
NameVirtualHost *:80 <VirtualHost *:80> ServerName * DocumentRoot /www/ </VirtualHost> <VirtualHost *:80> ServerName www.test1.com DocumentRoot /www/test1/ <Directory "/www/test1"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName www.test2.com DocumentRoot /www/test2/ <Directory "/www/test2"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName www.test3.com DocumentRoot /www/test3/ <Directory "/www/test3"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
4. 大功告成,測試下每個虛擬主機,分別訪問www.test1.com、www.test2.com、www.test3.com
三、基于端口
1. 修改配置文件
將原來的Listen 80改為Listen 80、Listen 8080
2. 更改虛擬主機設(shè)置:
<VirtualHost 192.168.1.10:80> DocumentRoot /var/www/test1/ ServerName www.test1.com </VirtualHost> <VirtualHost 192.168.1.10:8080> DocumentRoot /var/www/test2 ServerName www.test2.com </VirtualHost>
以上就是Apache配置虛擬主機的方法,希望對大家學(xué)習(xí)有所幫助。
- apache虛擬主機中設(shè)置泛域名解析的方法
- Apache虛擬主機的配置和泛域名解析實現(xiàn)代碼
- apache虛擬主機三種配置方式小結(jié)
- apache服務(wù)器一個ip(如:127.0.0.1)和多個域名(虛擬主機)的綁定
- Apache 配置多端口 多虛擬主機 局域網(wǎng)訪問示例
- 如何配置apache虛擬主機的實例小結(jié)
- 本地機apache配置基于域名的虛擬主機詳解
- windows apache多端口虛擬主機配置方法
- apache中偽靜態(tài)配置和使用(Apache虛擬主機下Discuz偽靜態(tài))
- Apache實現(xiàn)本地建立泛域名虛擬主機的方法
相關(guān)文章
詳解阿里云CentOS Linux服務(wù)器上用postfix搭建郵件服務(wù)器
本篇文章主要介紹了詳解阿里云CentOS Linux服務(wù)器上用postfix搭建郵件服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12Linux環(huán)境下快速搭建ftp服務(wù)器方法介紹
這篇文章主要介紹了Linux環(huán)境下快速搭建ftp服務(wù)器方法介紹,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01關(guān)于linux服務(wù)器下vsftpd的一些問題
針對我自己本身出現(xiàn)的問題,將高人與我的QQ聊天記錄整理了一份,然后再加上實際的操作.終于讓我大徹大悟.現(xiàn)在與大家狠狠的分享這位高人的成果.2010-06-06