软件指南针:专注于软件传播与分享

Apache配置基于IP地址的虚拟主机详解

来源:原创 717次浏览 0条评论
☞ 本文主要介绍软件Apache HTTP Server的相关内容:Apache配置基于IP地址的虚拟主机详解

   其下列版本/分支可以参考本文:

  • 全部版本/分支

基于IP地址的虚拟主机,正如其名称中所说的"基于IP"一样,服务器上每个基于IP的虚拟主机都必须拥有各自不同的IP地址(一台计算机具备多个IP地址在服务器领域是非常常见的)。

我们有两种配置方法可以让Apache服务器支持多个基于IP地址的虚拟主机:一种是为每个虚拟主机各自允许独立的守护进程(启动多个httpd.exe守护进程,一个守护进程对应一个虚拟主机);一种是只使用一个守护进程,并为多个虚拟主机提供服务。

如果处于安全考虑,提高数据隔离性,建议你使用运行多个守护进程的方法;如果多个虚拟主机共享不会造成麻烦,建议你使用单一守护进程,以便于在接收大量访问请求时,提供运行性能。毕竟,多个守护进程将会耗费更多的资源。

下面,我们将分别为大家两种基于IP地址的虚拟主机的配置方法。

1、配置拥有多个守护进程的虚拟主机

这种虚拟主机的配置方法非常简单,我们只需要在计算机上安装多个Apache,每个Apache对应一个虚拟主机。我们要在每个Apache的配置文件httpd.conf中分别设置自己监听的不同IP地址。

例如:虚拟主机1对应的IP地址为111.222.33.1(端口均为默认的80端口),则对应的Listen指令语句如下:

Listen 111.222.33.1:80
虚拟主机2对应的IP地址为111.222.33.2,则Listen指令语句为:
Listen 111.222.33.2:80

2、配置拥有单一守护进程的多个虚拟主机

在Apache的配置文件httpd.conf文件中,添加多个VirtualHost配置段内容,为每个基于IP地址的虚拟主机分别指定ServerName,DocumentRoot,ServerAdmin,ErrorLog,TransferLog,CustomLog等配置选项,绝大多数的全局配置指令均可在VirtualHost配置段中使用。配置示例如下:

<VirtualHost 111.222.33.1>
    ServerName a.com
    ServerAdmin webmaster@a.com
    DocumentRoot "D:/web/a"
    ErrorLog "D:/web/a/logs/error_log"
    TransferLog "D:/web/a/logs/access_log"
</VirtualHost>

<VirtualHost 111.222.33.2>
    ServerName b.com
    ServerAdmin webmaster@b.com
    DocumentRoot "D:/web/b"
    ErrorLog "D:/web/b/logs/error_log"
    TransferLog "D:/web/b/logs/access_log"
</VirtualHost>

作者:软件指南针(http://www.softown.cn),转载请保留出处!

用户评论

使用指南 故障排除 0 返回顶部