博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
006 虚拟主机
阅读量:5101 次
发布时间:2019-06-13

本文共 979 字,大约阅读时间需要 3 分钟。

一 . 概述

  在前面的介绍之中,我们知道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 加上端口号其实就是我们的虚拟主机的唯一标示. 

 

转载于:https://www.cnblogs.com/trekxu/p/9291361.html

你可能感兴趣的文章
四则运算2测试
查看>>
软件需求与分析课堂讨论一
查看>>
源码编译方式安装mysql服务 (Centos 6.X)
查看>>
iOS深入学习(UITableView系列2:reloadData)
查看>>
如何使用github上传自己的开源项目教程
查看>>
js网页倒计时功能(天,时,分,秒)
查看>>
简单的rest template,并且gradle打成可执行的jar包
查看>>
对象序列化与反序列化
查看>>
ABP 番外篇-容器
查看>>
图片自动按比例缩小代码(防止页面被图片撑破)
查看>>
C++笔试题2(基础题)
查看>>
543 Diameter of Binary Tree 二叉树的直径
查看>>
MVC如何避免控制器方法接收到的值不能被转换为参数类型
查看>>
HTML元素的一些基本属性(1)
查看>>
bzoj 4261: 建设游乐场 费用流
查看>>
Git创建一个自己的本地仓库
查看>>
十年后,我又开始研究SEO了
查看>>
HTML中 li 标签的value属性兼容问题
查看>>
Evaluation Stack
查看>>
Java - 异常解析基础
查看>>