1,一个ip地址绑定几个域名?

1.1 为什么会出现这样的需求?-客户端如何区别同一个服务器的不同网站?

因为在一台服务器中,可能会部署多个项目,这个时候如果想一台客户机能够访问到多个网站,就必须要一个ip地址绑定多个域名,

如果服务器使用Apache,那么在Apache的配置文件中加入VirtualHost即可新增虚拟主机:

<VirtualHost 10.0.0.1>
 ServerAdmin admin@admin
 DocumentRoot “D:/website1”
 ServerName http://myhost1.com
 DirectoryIndex index.php

 <VirtualHost 10.0.0.1>
 ServerAdmin admin@admin
 DocumentRoot “D:/website2”
 ServerName http://myhost2.com
 DirectoryIndex
 index.php

以上就定义了两个域名http://myhost1.com和http://myhost2.com,分别在不同的根目录,通过这样的配置Apache如果收到http://myhost1.com的请求,那么就到d:/website1里寻找对应的页面,如果是http://myhost2.com的请求,那么就到d:/website2里寻找对应的页面。通常Apache还有一个默认网站,这个网站是可以使用IP地址访问的,如果将这个网站设置为无效,那么这个主机就无法通过IP地址直接访问HTTP资源。

如果服务器没设置默认网站,那么IP地址也无法直接访问主机。所以,如果你直接通过IP地址访问网站,会遇到两种情况:1、服务器设置了默认网站,或者使用IP作为主机名去匹配请求的Host字段,那么你通过IP访问的就是这个网站;2、服务器没有设置默认网站,或者默认网站被禁止,那么你通过IP无法打开任何东,通常遇到的是404错误(找不到页面),在我使用过的几个虚拟主机服务商那,遇到的都是类似的错误。另外,不管是IIS或者Apache或者其它类型的网站服务器软件,不仅仅支持多域名,也支持多IP,也就是一个服务器同时有多个域名和多个IP,互相之间是互不干扰的。

1.2 一台主机能有多个ip地址吗?

一台主机的可以有多个ip地址,但是前提条件是安装了多个网卡,一个网卡对应于唯一的ip地址,路由器中为什么有多个网卡,因为路由器实际上就是一个有多块网卡的计算机,最低有两块,一个入口,一个进口,入口和进口分别处于不同的子网,只有这样路由器才能实现ip分组的接收和转发