Nginx 的基本概念
Nginx 简介
什么是 Nginx
- Nginx 是一个高性能的 HTTP 和 反向代理 web服务器
- 占用内存少,并发能力强,高性能,热部署
- 但不支持 Java,Java 得配合 tomcat 使用
反向代理
Nginx 不仅可以做反向代理,实现负载均衡,还能用作正向代理进行上网等功能。
正向代理
在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。
反向代理
客户端对代理是无感知的,客户端不需要做任何配置就可以直接访问。
客户端只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后,再返回给客户端。
此时反向代理服务器 + 目标服务器
对外就是一台服务器
,暴露的是反向代理服务器的地址,隐藏了真实服务器的 IP.
负载均衡
最朴素的请求处理
- 客户端发送多个请求到一个服务器,服务器处理请求,有些需要访问数据库,服务器处理完毕,再将结果返回给客户端。
- 只适用于并发请求量较小的情况下。
- 大量并发请求可能会导致服务器瘫痪。
小栗子🌰
一匹很瘦弱的马,拉不动一根很粗的木材,如何解决?
- 换一匹更强壮的马(提升服务器性能)
- 用很多匹马一起拉(负载均衡)
负载均衡
增加服务器的数量,将请求(负载)分发到各个服务器上。
动静分离
为了加快网站的解析速度,可以把动态网页和静态网页由不同的服务器来解析。
加快解析速度,降低原来单个服务器的压力。
Be a good programmer, but not just a programmer