同一个ip通一个80端口部署多个网站的原理-虚拟主机技术本质解析

           我们在应用服务器上部署web应用的时候,常常想要在一台服务器上部署多个网站。这时候我们就可以通过虚拟主机技术来实现。

          任何web服务器都是支持虚拟主机技术的,要完全明白什么是虚拟主机技术,我们要搞清楚下面的内容。

          首先就是多个域名可以解析到同一个ip地址。我们的虚拟主机技术就是利用这一点来实现的。一般情况下,我们标识一个网站是通过网站的ip和端口以及网站项目名称来标识的。

          在测试环境下,你可以通过修改成不同的端口,或者修改网站的项目名称来实现在同一台主机下部署多个网站。

 

           但是在真正的生产环境下,我们的网站往往都是采用的80端口,而且都是不带有网站目录路径的。这个时候就可以通过不同的域名来对网站加以区分了。具体的实现过程是这样的,首先通过配置域名解析,将多个域名都解析到同一个主机ip,然后我们在该主机上通过配置来让主机可以将来自不同域名的请求转发给不同的网站程序去处理。主机会截获到请求的请求头信息,然后获取到host这个请求头的值,这个值也就是该请求的来源域名。主机根据所配置的域名与网站程序的对应关系,将来自不同的域名的请求转发给不同的程序去处理。

 

         这种配置域名和处理程序的对应关系在不同的环境下配置方法不一样,但是原理都是一样的。在iis环境下,叫做主机头配置。意思就是配置请求报文的请求头中的主机头(host请求报文头)和主机上的网站目录的对应关系。在apache,ngnix环境下,则是直接通过配置文件cfg文件来配置不同的域名和网站根目录之间的映射关系的。

 

            有了这个映射关系以后,那么主机在接到请求时,首先就会获得该请求来在哪个域名,然后根据配置的域名到网站根目录的对应关系,将该请求转发给对应的网站根目录去进行处理。

         这样就实现了一个ip一个80端口上部署无穷多个网站的效果。

 

         通过上面的分析,我们知道,在虚拟主机技术中,它是采用域名,ip和端口来表示一个网站的,虽然ip和端口都是完全一样的,但是我们仍然可以实现在同一台主机上部署多个网站,然后让不同的域名映射到这些不同的网站的功能。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walkingmanc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值