Nginx常见问题
Nginx介绍
一般了解一个新技术、新事物, 我们都需要了解它的基本概念, 以及它的应用场景, 以及它的优缺点. 一般从三个维度来了解:
- 什么是xxx?
- 为什么会有xxx?
- 怎么使用xxx?
什么是Nginx?
Nginx (engine x) 是 一款轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器
。
什么是反向代理?
反向代理(Reverse Proxy)方式是指 以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端
,此时代理服务器对外就表现为一个反向代理服务器。 反向代理是 作用在服务器端的,是一个虚拟ip(VIP)
。对于用户的一个请求,会转发到多个后端处理器中的一台来处理该具体请求。
什么是正向代理?
正向代理是 一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端
。客户端才能使用正向代理。
正向代理和反向代理区别?
- 正向代理,是在客户端的,代理服务器位于客户端和目标服务器之间。如: 科学上网
- 反向代理,是在服务端的。如: Nginx
正向代理与反向代理的优缺点
正向代理
【优点】
- 能够提高网络安全性,隐藏真实客户端的信息,防止攻击者对客户端的攻击。
- 可以优化网络访问,缓存请求结果,减少重复访问,提高访问速度。
- 可以实现网络访问控制,限制某些客户端的访问权限,提高网络的安全性。
【缺点】
- 在网络访问过程中需要客户端进行额外的配置,增加了操作复杂性。
- 在高并发访问情况下,会产生瓶颈,导致性能下降。
【适用场景】:
- 提供安全访问:正向代理可用于提供访问安全性,隐藏真实客户端信息,防止攻击者对客户端的攻击。
- 优化网络访问:正向代理可以缓存请求结果,减少重复访问,提高访问速度。
- 访问控制:正向代理可以实现网络访问控制,限制某些客户端的访问权限,提高网络的安全性
反向代理
【优点】:
能够提高网络安全性,隐藏真实服务器的信息,防止攻击者对服务器的攻击。 可以实现负载均衡,将请求分发到不同的服务器,提高系统的可用性和性能。 可以实现缓存技术,提高访问速度,减少服务器的负载。
【缺点】:
部署和配置较为复杂,需要专业知识。 对网络性能和响应速度有一定影响。
【适用场景】:
实现负载均衡:反向代理可以实现负载均衡,将请求分发到不同的服务器,提高系统的可用性和性能。 隐藏服务器信息:反向代理可以隐藏真实服务器的信息,防止攻击者对服务器的攻击。 提高访问速度:反向代理可以实现缓存技术,提高访问速度,减少服务器的负载。
Nging的特性
高并发
是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指, 通过设计保证系统能够同时并行处理很多请求
。并发度一般有以下衡量指标:
- 响应时间: 系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。
- 吞吐量:单位时间内处理的请求数量。
- QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。
- 并发用户数:同时承载正常使用系统功能的用户数量。
高可用
通常来描述一个系统经过专门的设计,从而**减少停工时间,而保持其服务的高度可用性
**
高性能
是指服务响应时间快,(CPU/处理器/内存)特别是在高并发下响应时间不会急剧增加。