nginx是什么
简单说,Nginx 是一个高性能的 Web服务器 和反向代理服务器。
web服务器
能够提供http服务的服务器叫做web服务器,其中web服务器又分为静态文件服务器和动态内容服务器。
静态文件服务器可以根据访问路径,返回对应的静态文件。动态内容服务器会根据对传入的参数的不同进行不同的处理,从数据库或者缓存得到有关数据,再封装成相应内容返回给客户端,比如我们登陆一个网站 login.do,服务端会根据传过来的账号和密码,从数据库中获取相关数据,再匹配是否成功,然后然后登陆结果。
反向代理服务器
首先我们先理解一下什么是代理,即使在互联网高速发展的今天,现在仍然存在着火车票黄牛,黄牛是什么呢?在节假日期间我们经常抢不到票,但黄牛因为有更高的网速,更多的渠道,所以他们可以帮我们买到票。我们只需要把钱拿给黄牛,他就会给你买到票。像黄牛这种,就是正向代理。黄牛是我们的代理。
正向代理服务器
我们在客户端设置代理信息,当我们请求http://www.baidu.com的时候,实际上我们是先把请求发给代理,然后由代理再去请求服务器,比如VPN, fiddler都是正向代理
![](https://img.haomeiwen.com/i1605579/c18ab5c658ea5db8.png)
那什么是反向代理呢? 我们可以把反向代理理解成家政中心,阿姨们去家政中心注册,客人们到家政中心说需要打扫卫生,家政中心会从一大堆阿姨里面挑一个去打扫卫生。这就是反向代理。家政中心是阿姨们的代理。
反向代理服务器
我们在反向代理设置和请求地址和服务器的关系,当我们请求http://www.baidu.com的时候,反向代理服务器会根据请求地址的结构的不同然后去请求不同的服务器,nginx就是反向服务器.
![](https://img.haomeiwen.com/i1605579/4c9512da33f748c0.png)
- 正向代理需要在客户端配置代理信息, 反向代理需要在代理配置服务端信息
- 正向代理向服务端隐藏客户端;反向代理向客户端隐藏服务端
- 正向代理代理的对象是客户端,反向代理代理的对象是服务端
nginx 的优点
- 相比 Apache,IIS等web服务器,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50000 个并发连接数的响应。之所以有这么优异的表现,是因为 Nginx 选择了 epoll and kqueue 作为开发模型。
- Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
网友评论