nginxNginx相关概念

Posted 加班攒钱种头发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginxNginx相关概念相关的知识,希望对你有一定的参考价值。




Nginx概述

nginx(1)Nginx相关概念
 

nginx 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。特点是占用内存少,高并发能力强且稳定。


如图,Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。

nginx(1)Nginx相关概念


Nginx解决的问题

  • 高并发

  • 负载均衡

  • 高可用

  • 虚拟主机

  • 伪静态

  • 动静分离




正向代理

nginx(1)Nginx相关概念
 

Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。


正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。


简单一点:代理务器来访问服务器的过程 就叫 正向代理。需要在客户端配置代理服务器进行指定网站访问

nginx(1)Nginx相关概念




反向代理

nginx(1)Nginx相关概念
 


反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。


nginx(1)Nginx相关概念



通常情况下,我们在实际项目操作时,正向代理和反向代理很有可能会存在同一个应用场景中,正向代理代理客户端的请求去访问目标服务器,目标服务器是一个反向单利服务器,反向代理了多台真实的业务处理服务器。

nginx(1)Nginx相关概念




负载均衡

nginx(1)Nginx相关概念
 

我们已经明确了所谓代理服务器的概念,Nginx 扮演了反向代理服务器的角色,它是依据什么样的规则进行请求分发的呢?不用的项目应用场景,分发的规则是否可以控制呢?


请求数量按照一定的规则进行分发,到不同的服务器处理的规则,就是一种均衡规则。所以将服务器接收到的请求按照规则分发的过程,称为负载均衡。


负载均衡在实际项目操作过程中,有硬件负载均衡和软件负载均衡两种,硬件负载均衡也称为硬负载,如 F5 负载均衡,相对造价昂贵成本较高。但是数据的稳定性安全性等等有非常好的保障,如中国移动中国联通这样的公司才会选择硬负载进行操作。


更多的公司考虑到成本原因,会选择使用软件负载均衡,软件负载均衡是利用现有的技术结合主机硬件实现的一种消息队列分发机制。

nginx(1)Nginx相关概念




Nginx和apache的优缺点

 

nginx相对于apache的优点:


  • 轻量级,同样起web 服务,比apache 占用更少的内存及资源


  • 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能


  • 高度模块化的设计,编写模块相对简单


  • 社区活跃,各种高性能模块出品迅速


apache 相对于nginx 的优点


  • rewrite ,比nginx 的rewrite 强大


  • 模块超多,基本想到的都可以找到


  • 少bug ,nginx 的bug 相对较多


  • Nginx 配置简洁, Apache 相对复杂


最核心的区别在于apache是同步多进程模型,一个连接对应一个进程,nginx是异步的,多个连接(万级别)可以对应一个进程


几种常用 Web 服务器对比如下图:



参考文章:


以上是关于nginxNginx相关概念的主要内容,如果未能解决你的问题,请参考以下文章

了解 Nginx 基本概念

nginx相关知识

nginxnginx日志配置及日志切割

NginxNginx部署Windows设置80端口

PHP开发面试真题篇:熟练掌握“Nginx”相关试题

网络相关知识点:nginx相关概念