分享三种Apache配置虚拟主机的方式

 更新时间:2016年04月17日 11:15:42   作者:郑宏鑫erke  
这篇文章主要为大家分享了三种Apache配置虚拟主机的方式,感兴趣的小伙伴们可以参考一下

一、基于IP

 1. 假设服务器有个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

 2. 修改hosts文件,添加三个域名与之一一对应:

192.168.1.11   www.test1.com
192.168.1.12   www.test2.com
192.168.1.13   www.test3.com
 3. 建立虚拟主机存放网页的根目录,如在/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. 设置域名映射同一个IP,修改hosts:

192.168.1.10  www.test1.com
192.168.1.10  www.test2.com
192.168.1.10  www.test3.com

2. 跟上面一样,建立虚拟主机存放网页的根目录

/www/test1/1.html
/www/test2/2.html
/www/test3/3.html 

 3. 在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置: 

  为了使用基于域名的虚拟主机,必须指定服务器IP地址(和可能的端口)来使主机接受请求。可以用NameVirtualHost指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数。在NameVirtualHost指令中指明IP地址并不会使服务器自动侦听那个IP地址。 这里设定的IP地址必须对应服务器上的一个网络接口。
  下一步就是为你建立的每个虚拟主机设定<VirtualHost>配置块,<VirtualHost>的参数与NameVirtualHost指令的参数是一样的。每个<VirtualHost>定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方。

  如果在现有的web服务器上增加虚拟主机,必须也为现存的主机建造一个<VirtualHost>定义块。其中ServerName和DocumentRoot所包含的内容应该与全局的保持一致,且要放在配置文件的最前面,扮演默认主机的角色。

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. 更改虚拟主机设置:

<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配置虚拟主机的方法,希望对大家学习有所帮助。

相关文章

  • linux中gdb的入门使用教程

    linux中gdb的入门使用教程

    这篇文章主要给大家介绍了关于linux中gdb的入门使用的相关资料。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Apache POI用法示例详解

    Apache POI用法示例详解

    Apache POI是一个开源的Java API,用于处理Microsoft Office文档,提供了多种组件,例如HSSF、XSSF等,以支持不同格式如Excel、Word、PowerPoint等文件的读写操作,本文介绍Apache POI用法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • clickhouse远程连接以及用户名密码设置方式

    clickhouse远程连接以及用户名密码设置方式

    文章介绍了如何远程连接ClickHouse数据库,包括两种情况:禁用IPv6和启用IPv6,在远程连接时,使用DBeaver工具连接ClickHouse,需要注意两个端口:HTTP端口(8123)和TCP端口,此外,文章还讲述了如何设置用户名和密码
    2024-11-11
  • linux特殊字符及其作用大全

    linux特殊字符及其作用大全

    这篇文章主要介绍了linux特殊字符及其作用,文中给大家补充介绍了linux特殊字符用法,需要的朋友可以参考下
    2018-04-04
  • Linux chage命令详解

    Linux chage命令详解

    chage命令用于密码实效管理,该是用来修改帐号和密码的有效期限,接下来通过本文给大家介绍Linux chage命令相关知识,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-01-01
  • Linux系统下利用C程序输出某进程的内存占用信息

    Linux系统下利用C程序输出某进程的内存占用信息

    这篇文章主要给大家介绍了关于在Linux系统下利用C程序输出某进程的内存占用信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
    2017-12-12
  • Linux防火墙配置及iptables与firewalld的使用解读

    Linux防火墙配置及iptables与firewalld的使用解读

    防火墙是一种网络安全设备,通过规则控制进出网络的访问行为,它分为硬件防火墙和软件防火墙两大类,iptables是Linux系统中用于配置防火墙的工具,具有4个表和5个链,firewall命令用于配置和管理防火墙,有drop、block、public、external、dmz等不同的区域配置
    2025-01-01
  • linux手动、自动更改网卡MAC地址的方法

    linux手动、自动更改网卡MAC地址的方法

    这篇文章主要给大家介绍了关于linux如何手动、自动更改网卡MAC地址的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • Linux 常用文本处理命令和vim文本编辑器

    Linux 常用文本处理命令和vim文本编辑器

    这篇文章主要介绍了Linux 常用文本处理命令和vim文本编辑器,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Apache启用GZIP压缩网页传输方法

    Apache启用GZIP压缩网页传输方法

    上一篇文章我们已经介绍了Apache启用GZIP压缩网页的方法,这里又发现了一篇好文章,特分享给大家
    2013-06-06

最新评论