同一个ip通一个80端口部署多个网站的原理-虚拟主机技术本质解析
来源:互联网 发布:o nonblock linux 编辑:程序博客网 时间:2024/05/20 01:10
我们在应用服务器上部署web应用的时候,常常想要在一台服务器上部署多个网站。这时候我们就可以通过虚拟主机技术来实现。
任何web服务器都是支持虚拟主机技术的,要完全明白什么是虚拟主机技术,我们要搞清楚下面的内容。
首先就是多个域名可以解析到同一个ip地址。我们的虚拟主机技术就是利用这一点来实现的。一般情况下,我们标识一个网站是通过网站的ip和端口以及网站项目名称来标识的。
在测试环境下,你可以通过修改成不同的端口,或者修改网站的项目名称来实现在同一台主机下部署多个网站。
但是在真正的生产环境下,我们的网站往往都是采用的80端口,而且都是不带有网站目录路径的。这个时候就可以通过不同的域名来对网站加以区分了。具体的实现过程是这样的,首先通过配置域名解析,将多个域名都解析到同一个主机ip,然后我们在该主机上通过配置来让主机可以将来自不同域名的请求转发给不同的网站程序去处理。主机会截获到请求的请求头信息,然后获取到host这个请求头的值,这个值也就是该请求的来源域名。主机根据所配置的域名与网站程序的对应关系,将来自不同的域名的请求转发给不同的程序去处理。
这种配置域名和处理程序的对应关系在不同的环境下配置方法不一样,但是原理都是一样的。在iis环境下,叫做主机头配置。意思就是配置请求报文的请求头中的主机头(host请求报文头)和主机上的网站目录的对应关系。在apache,ngnix环境下,则是直接通过配置文件cfg文件来配置不同的域名和网站根目录之间的映射关系的。
有了这个映射关系以后,那么主机在接到请求时,首先就会获得该请求来在哪个域名,然后根据配置的域名到网站根目录的对应关系,将该请求转发给对应的网站根目录去进行处理。
这样就实现了一个ip一个80端口上部署无穷多个网站的效果。
通过上面的分析,我们知道,在虚拟主机技术中,它是采用域名,ip和端口来表示一个网站的,虽然ip和端口都是完全一样的,但是我们仍然可以实现在同一台主机上部署多个网站,然后让不同的域名映射到这些不同的网站的功能。
- 同一个ip通一个80端口部署多个网站的原理-虚拟主机技术本质解析
- linux下同一个tomcat部署多个项目 同一个端口
- wampserver配置同一个IP不同端口的虚拟主机
- apache 同一个IP:端口,绑定多个域名的注意事项
- Apache 同一个IP:端口,绑定多个域名的注意事项
- apache部署多个网站,一个ip部署多域名
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 实现一个机器部署多个WEB站点的常见方法【端口、主机头、ip】
- tomcat同一个端口下部署多个应用
- 同一个服务器,部署多个tomcat端口修改
- 同一个tomcat下部署多个项目,并通过不同端口号访问不同的项目
- Apache相同ip通过多个端口配置虚拟主机
- DNS负载均衡技术-同一个域名对应多个ip的方法
- DNS负载均衡技术-同一个域名对应多个ip的方法
- js中的for循环 写法的效率对比
- Mpchart被其父控件HorizontalScrollView影响无法左右拨动
- U方法的使用
- <iOS>百度推送
- poj 1002 487-3279
- 同一个ip通一个80端口部署多个网站的原理-虚拟主机技术本质解析
- 图的深度优先搜索(DFS),广度优先搜索(BFS)与最小生成树(MST)
- Struts2工作原理
- JS 如何实现两个div的内容调换
- Spark---ending
- switch开关语句 没有break是如何执行的
- 你不知道的JavaScript--Item21 漂移的this
- 简单排序---选择排序
- Spring MVC 集成 Velocity