Nginx相关知识收纳总结

1、什么是Nginx?

Nginx一款高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;Nginx的设计不像传统的服务器那样使用线程处理请求,而是一个更加高级的机制—事件驱动机制,是一种异步事件驱动结构。

2、Nginx的一些特性

(1) 跨平台:可以在大多数Unix like 系统编译运行。而且也有Windows的移植版本;
(2) 配置异常简单:非常的简单,易上手;
(3) 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能支持5万并发连接,实际生产中能跑2~3万并发连接数;
(4) Nginx代理和后端Web服务器间无需长连接;
(5) Nginx接收用户请求是异步的,即先将用户请求全部接收下来,再一次性发送到后端Web服务器,极大减轻后端Web服务器的压力;
(6) 内存消耗小、成本低廉、开源、节省带宽、稳定性高等特点。

3、使用“反向代理服务器”的优点是什么?

反向代理服务器可以隐藏源服务器的存在和特征,它充当互联网云和web服务器之间的中间层。这对于安全方面来说是很好的,特别是当您使用web托管服务时。

4、什么是正向代理?什么是反向代理?

**正向代理:**一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标然后代理向原始服务器转交请求并将获得的内容返回给客户端。
即代理端代理的是客户端。
**反向代理:**以代理服务器来接受 Internet上的连接请求,然后将请求,发给内部网络上的服务器并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
即代理端代理的是服务端。
在这里插入图片描述

5、请解释Nginx如何处理HTTP请求。

Nginx 是一个高性能的 Web 服务器,能够同时处理大量的并发请求。它结合多进程机制和异步机制 ,异步机制使用的是异步非阻塞方式 。
(1)、多进程机制
服务器每当收到一个客户端时,就有服务器主进程 ( master process )生成一个子进程( worker process )出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。
使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对性能造成影响,同时降低编程的复杂度,降低开发成本。其次,采用独立的进程,可以让进程互相之间不会影响 ,如果一个进程发生异常退出时,其它进程正常工作, master 进程则很快启动新的 worker 进程,确保服务不会中断,从而将风险降到最低。
缺点是操作系统生成一个子进程需要进行内存复制等操作,在资源和时间上会产生一定的开销。当有大量请求时,会导致系统性能下降 。
(2)、异步非阻塞机制
每个工作进程使用异步非阻塞方式,可以处理多个客户端请求 。
当某个工作进程接收到客户端的请求以后,调用 IO 进行处理,如果不能立即得到结果,就去处理其他请求;而客户端在此期间也 无需等待响应,可以去处理其他事情。当 IO 返回时,就会通知此工作进程 ;该进程得到通知,暂时挂起当前处理的事务去响应客户端请求 。

6、Nginx 有哪些负载均衡策略?

Nginx 默认提供了 3 种负载均衡策略:
1、轮询(默认)round_robin
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
2、IP 哈希 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 共享的问题。当然,实际场景下,一般不考虑使用 ip_hash 解决 session 共享。
3、最少连接 least_conn
下一个请求将被分派到活动连接数量最少的服务器。

参考链接:
Nginx面试中最常见的18道题
精尽面试(一):精尽 Nginx 面试题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值