前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx必知必会

nginx必知必会

作者头像
summerking
发布2022-09-19 10:52:20
5390
发布2022-09-19 10:52:20
举报
文章被收录于专栏:summerking的专栏

# Apahce和nginx的区别

nginx相对于apache来说是轻量级,同样是web服务,比apache占用内存及资源更少,抗并发方面也是,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持高性能,但是nginx有一些不足,他在健康检查方面只能通过端口来检测,不支持url来检测,并且支持的协议比较少,

# nginx作为负载均衡

nginx的负载均衡模块有:upstream模块和proxy模块

nginx负载均衡的策略:轮询,权重,iphash ,还有urlhash

# nginx服务器上master和worker的区别

Worker进程是负责处理请求的进程

master进程负责管理worker进程的同时也负责读取配置文件和判断配置文件语法

在nginx中,master进程只能有一个,而worker进程可以有多个

# 三握四挥,以打电话举例

三次握手:

第一次握手:小明说:“喂喂喂,能听到我说话吗?”

第二次握手:小萌说:“我可以听到你说话,你能听到我说话吗?”(我回了你一句,说明了我可以听到你说话(说明了我具有接受消息的能力))

第三次握手:小明说:“我听到你说话了”(双方都可以听到对方了声音,表示没有问题,样就可以进行通话了(建立了 TCP 连接))

四次挥手:

第一次挥手:小明:“我说完了,我要睡了”(主动关闭方发送一个信息,告诉告诉被动关闭方:我已经不会再给你发数据了)

第二次挥手:小萌:“好的,知道了”(被动关闭方收到信息,发送一个类似收到的信息给对方)

第三次挥手:小萌:“恩,我也说完了”(被动关闭方发送一个信息,告诉主动关闭方,我的数据也发送完了,不会再给你发数据了)

第四次挥手:小明:“恩”(主动关闭方收到信息后,发送一个类似收到的信息,完成四次挥手)

# 为什么是三次握手?不是两次或者四次?

  • 假如是两次握手,会发生什么情况呢? 服务端在发出应答消息后,它根本就不能确认客户端是否接受到消息了,那么这样意味着只有客户端可以向服务端发送数据。
  • 假如是四次握手呢?明明已经保证了一个稳定的传输流了,为什么还要浪费性能再去发一次消息,浪费了性能。

# 正向代理和反向代理

代理分为正向代理和反向代理

  • 正向代理:客户端 <一> 代理 一>服务端

正向代理简单地打个租房的比方:

代码语言:javascript
复制
graph LR
A(A客户端)-->B(B代理)
B(B代理)-->C(C服务端)

代码语言:javascript
复制
A(客户端)想租C(服务端)的房子,但是A(客户端)并不认识C(服务端)租不到。
B(代理)认识C(服务端)能租这个房子,所以你找了B(代理)帮忙租到了这个房子。

这个过程中C(服务端)不认识A(客户端)只认识B(代理)
C(服务端)并不知道A(客户端)租了房子,只知道房子租给了B(代理)。

  • 反向代理:客户端 一>代理 <一> 服务端

反向代理也用一个租房的例子:

A(客户端)想租一个房子,B(代理)就把这个房子租给了他。 这时候实际上C(服务端)才是房东。 B(代理)是二房东把这个房子租给了A(客户端)。 这个过程中A(客户端)并不知道这个房子到底谁才是真正的房东 他都有可能认为这个房子就是B(代理)的 也就是说:反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送的反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实的服务器IP地址。

由上的例子和图我们可以知道正向代理和反向代理的区别在于代理的对象不一样,正向代理的代理对象是客户端,反向代理的代理对象是服务端。正向代理隐藏真实客户端,反向代理隐藏真实服务端

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # Apahce和nginx的区别
  • # nginx作为负载均衡
  • # nginx服务器上master和worker的区别
  • # 三握四挥,以打电话举例
    • # 为什么是三次握手?不是两次或者四次?
    • # 正向代理和反向代理
    相关产品与服务
    负载均衡
    负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档