006 虚拟主机

一 . 概述

  在前面的介绍之中,我们知道ngingx可以帮助我们拦截所有的请求,然后帮助我们实现请求的分发,也就是说,nginx可以帮助我们做为一个前端控制器的存在.

  通过这个功能,我们就可以完成大量的操作,比如实现虚拟主机,实现反向代理,进而实现动静分离和负载均衡.

  本次,我们首先实现一个最基本功能,就是完成一个http服务器最为基本的功能,配置一个虚拟主机.


 二 . 虚拟主机

  在前面,我们一直在强调,我们的请求可以通过nginx进行分发,通过不同的分发模式,我们可以创建不同的虚拟主机.

  在nginx之中,配置虚拟主机的方式基本可以分成三种:

  (1)域名的分发  (2)端口的分发 (3)ip的分发.

在下面我们演示一下这三种情况的具体实现.

[1] 域名的分发

为了模拟这个情况,我们首先将我们的host文件进行修改.

192.168.0.111  www.trek.com 配置这样的一个ip映射 .

然后我们修改我们的nginx的配置文件.

我们将nginx的一个server的配置为server_name 为www.trek.com,也就是说我们配置了一个域名为www.trek.com的虚拟主机.

当我们使用浏览器请求www.trek.com的时候,由于本地的host文件生效,会将我们的域名转换为192.168.0.111的ip,进而请求就被nginx接管.

  而nginx会匹配我们的请求,将我们的请求映射到了对应的server_name的主机之上.

[2]端口的分发

我们配置了一个监听88端口的虚拟主机,当一个访问nginx的请求被映射到一个域名为www.trek.com且访问的端口号为88的时候,我们就可以访问nginx的首页了.

[3]ip的分发

我们现在配置的一个虚拟主机,可以帮助我们将请求的端口号为80,访问的ip为192.168.0.111的请求拦截到.


三 .总结

  尽管我们在上面好像分成了三个部分说明nginx的虚拟主机的配置,但是归根结底还是一种情况,nginx会帮助我们将请求转发给对应的虚拟主机上.

  我们配置的server_name 加上端口号其实就是我们的虚拟主机的唯一标示. 

猜你喜欢

转载自www.cnblogs.com/trekxu/p/9291361.html
006