Nginx学习理解
概述
Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,nginx专为性能优化而开发,性能是极其重要的要求,十分注重效率,有报告niginx能支持高达50000个并发连接数。
反向代理
正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务被称为正向代理。
反向代理:
客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
正向代理和反向代理的区别
正向代理是客户端和其他所有服务器(重点:所有)的代理者,而反向代理是客户端和反向代理服务器所代理的服务器之间的代理(也就是说反向代理有可能代理2个服务器,3个服务器等)
一般的正向代理,比如*,任何可以连接到该代理服务器的软件,就可以通过代理访问任何的其他服务器,然后把数据返回给客户端,这里代理服务器只对客户端负责。
而反向代理的话,如果他反向代理了两个服务,那么之后客户端访问这两个服务器的时候,该代理服务器才会给它代理,也就是说,这里的代理服务器只对该代理服务器所代理的服务器负责。这也就是为什么起这样的名字。
一个对客户端负责,一个对所代理的服务器负责。一个正,一个反。
反向代理的作用
1: 通过配置缓存功能加速Web请求:可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力;(image,js,css)
2: 充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力
负载均衡
客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕之后,再将结果返回给客户端
但是随着信息数量增长,访问量和数据量飞速增长,普通架构无法满足现在的需求
我们首先想到的是升级服务器配置,可是单纯从硬件升级性能已经不可取了,怎么解决这种需求呢?
我们可以增加服务器的数量,构建集群,将请求分发到各个服务器上,将原来请求集中到单个服务器的情况改为请求分发到多个服务器,也就是我们说的负载均衡。
假设有15个请求发送到代理服务器,那么由代理服务器根据服务器数量,平均分配,没哦个服务器处理5个请求,这个过程就叫负载均衡。
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面交给不同的服务器来解析,加快解析速度,降低由单个服务器的压力。
动静分离把动态请求和静态请求分开,不是讲动态页面和静态页面物理分离,可以理解为nginx处理静态页面,tomcat处理动态页面。
动静分离大致分为两种:
一、纯粹将静态文件独立成单独域名放在独立的服务器上,也是目前主流方案;
二、将动态跟静态文件混合在一起发布,通过nginx分开。
本文地址:https://blog.csdn.net/weixin_46011971/article/details/108866746
上一篇: mac 开启mysql bin-log
下一篇: 一致性哈希算法的php实现与分析-算法