Nginx学习(萌新面试)

Nginx学习(萌新面试)

官网:https://nginx.org/

什么是Nginx?

Nginx是一个高性能的HTTP反向代理web服务器,同时也提供邮件服务。

Nginx是一款轻量级Web 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

特点:

  • 占用内存小 不超过2M
  • 并发能力强(50000个并发请求响应)

为什么用Nginx?

  • 跨平台、配置简单、方向代理、高并发连接(处理2-3万并发连接数,官方监测能支持5万并发,内存消耗小:开启10个nginx才占150M内存 ,nginx处理静态文件好,耗费内存少)
  • 而且Nginx内置的健康检查功能(如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。)
  • 使用Nginx的话还能
    • 节省宽带:支持GZIP压缩,可以添加浏览器本地缓存
    • 稳定性高:宕机的概率非常小
    • 接收用户请求是异步的

为什么Nginx性能这么高?

因为他的事件处理机制:

  • 异步非阻塞事件处理机制
    • 运用了epoll模型,提供了一个队列,排队解决

什么是正向代理和反向代理?

正向代理:

  • 正向代理是自己在访问其他资源的时候,通过正向代理服务器来访问,可以做访问控制策略,由正向代理去访问服务器。

反向代理:

  • 反向代理是外网访问内网资源的时候,访问到我的反向代理服务器,由反向代理服务器去访问我的资源,并且记录客户端ip,防止用户直接访问到我的后端服务器。

反向代理服务器的优点是什么?

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

Nginx的优缺点?

  • 优点:

    1. 占内存小,可实现高并发连接,处理响应快
    2. 可实现http服务器、虚拟主机、方向代理、负载均衡
    3. Nginx配置简单
    4. 可以不暴露正式的服务器IP地址
  • 缺点:

    • 动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在一般前端用nginx作为反向代理抗住压力,

Nginx负载均衡的算法怎么实现的?

为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对后台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。

负载均衡的策略有哪些?

轮询(默认)

  • 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某个服务器宕机,能自动剔除故障系统。
upstream backserver { 
 server 192.168.0.12; 
 server 192.168.0.13; 
} 

权重 weight

  • weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。
upstream backserver { 
 server 192.168.0.12 weight=2; 	#20%
 server 192.168.0.13 weight=8; 	#80%
} 

ip_hash( IP绑定)

  • 每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题
upstream backserver { 
 ip_hash; 
 server 192.168.0.12:88; 
 server 192.168.0.13:80; 
} 
posted @ 2021-10-21 18:35  贪玩的阿柒  阅读(52)  评论(0编辑  收藏  举报