在一台服务器上搭多个网站的解决方案 .

以前一直困惑于80端口就一个,如何才能在一台服务器上布署多个网站呢?最近因为公司服务器需要实现这个需求,才去认真的研究其中的原理与布署方案,本文总要记录winodws服务器下apache与iis的配置过程。在一台服务器上搭多个网站的原理其实很简单,首先将多个域名映射到同一台服务器(同一个ip),而后由apache和iis根据接收到的域名决定访问哪个网站目录,这个网站目录可以理解为虚拟主机,下面讲解下这两个服务器下的具体配置方法。

一、iis服务器下

这样描述,在一台服务器上用同一个 IP 地址、 地址、同一个端口号实现多个 WEB 站点的方法应该会更准确、更合理,在iis环境下有几个专业名词能区分清楚,就可以游刃有余的在一台服务器上搭多个网站了。

1.新建虚拟目录-----可以理解为用二级目录部署一个新网站,比如我们用虚拟目录建一个blog采用的域名会是这样子http://www.xxxxxx/blog/

2.新建网站----此时有个名词很重要叫主机头,其实就是我们要用来搭建网站的域名,使用多个域名(也可以是二级域名)就可以在iis上新建多个网站了,举个例子我原来有个网站叫域名是http://xxx.info现在我还有一个域名http://www.xxxxx.info用来打造也想搭在这台服务器上,那么在iis新建网站的时候就要填写主机头,如果不填写就会造成端口冲突,无法开启新的网站,可以这样理解在同一个80端口下iis是靠域名(主机头)来区分多个站点的,如果不填主机头iis就无法区分。

二、apache服务器下

在布署apache服务器的时候,我们都知道配置文件叫httpd.conf,在这里面可以设置很多东西,如访问文件夹的权限,指定端口,限定哪些ip可以访问网站等等,我们要在一台服务器的apache下搭建多个网站要用到另一个文件叫httpd-vhosts.conf,其实配置起来很简单这个文件里面有例子,复制一段模仿着建一个虚拟主机(一个虚拟主机就是一个网站),虚拟主机中要配置ip,域名,日志文件名等等,要注意的一点是配置完成后,需要在httpd.conf中加下面这句话

 

Include "conf/extra/httpd-vhosts.conf"

加完这句话之后当服务器被访问时apache接收到请求,就会根据请求的域名去虚拟主机中查找是否有匹配的网站,如果有就访问这个网站,如果没有就访问默认的www中的网站。

你可能感兴趣的:(解决方案)