【一】虚拟主机概述
虚拟主机(Virtual Host),又称为虚拟服务器、网站空间或网页托管,是一种网络技术,能够在同一台服务器上运行多个主机名,并且可以为每个主机名提供独立的支持。虚拟主机可以同时运行多个网站或服务,其中的“虚拟”并非指不存在,而是指该空间是从物理服务器扩展而来。硬件系统可以由一组服务器或单个服务器组成。虚拟主机技术主要用于HTTP、FTP、EMAIL等服务,将一台服务器的服务内容在逻辑上划分为多个部分,对外表现为多个独立的服务器,从而优化硬件资源的使用。
【二】虚拟主机设置
实现虚拟主机的方法主要有三种:基于域名(Name-based)、基于IP地址(IP-based)和基于端口(Port-based)。基于域名的方法可以使一个IP地址对应多个网站;基于IP的方法则要求一个IP地址只能对应一个网站;基于端口的方法则通过IP地址加端口号来对应一个网站。以下是这三种虚拟主机设置方法的详细说明。
①基于域名的方法(Name-based)
首先,在 `/etc/httpd/conf.d` 目录下创建一个 `vhost.conf` 文件,并添加多站点的配置信息,内容如下:
然后,创建相应的目录和文件,命令如下:
如果 `www.test1.com` 和 `www.test2.com` 是实际域名,重启 `httpd` 服务后,基于域名的虚拟主机配置将生效。为测试配置是否成功,可以修改 `hosts` 文件,让 `www.test1.com` 和 `www.test2.com` 指向本机站点,命令如下:
最后,重启 `httpd` 服务并进行访问测试,命令如下:
如图所示,表示基于域名的虚拟主机配置已成功。
②基于IP的方法(IP-based)
基于IP的虚拟主机配置方法是让每个IP地址对应一个网站,配置方法与基于域名的配置几乎相同,只需将“*”替换为相应的IP地址即可。例如,假设有 `192.168.1.10` 和 `192.168.1.20` 两个地址,配置如下:
测试方法如下:
如图所示,本机的IP地址为 `10.0.24.13`。
这里以 `10.0.24.20` 和 `10.0.24.30` 两个IP地址为例,给网卡添加地址,命令如下:
③基于端口的方法(Port-based)
基于端口的虚拟主机配置方法是通过相同的域名或IP地址,不同的端口号来对应多个网站。配置与基于域名的配置几乎一样,只需将默认的80端口换成所需的端口号即可。注意,如果服务器启用了防火墙,需要将相应端口号添加到防火墙规则中。以下以8080端口号为例,命令如下:
如图所示,表示基于端口的虚拟主机配置已成功。