Nginx
Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。
Nginx 的主要特点包括:
- 高性能:Nginx 可以处理大量的并发连接,适合高负载的场景。
- 反向代理:Nginx 可以作为反向代理服务器,将请求转发到后端服务器。
- 负载均衡:Nginx 可以将请求分发到多个后端服务器,实现负载均衡。
- 静态文件服务:Nginx 可以高效地提供静态文件服务,支持 gzip 压缩和缓存。
…
Nginx 反向代理
Nginx 反向代理的基本配置如下:
1 | server { |
Nginx 反向代理的工作原理是,当客户端请求 Nginx 时,Nginx 会将请求转发到后端服务器(如 Apache Tomcat),然后将后端服务器的响应返回给客户端。
反向代理的好处
- 提高访问速度:Nginx 可以缓存静态文件,提高访问速度。
- 可以实现负载均衡,将请求分发到多个后端服务器,提高性能。
- 可以隐藏后端服务器的真实地址,提高安全性。
负载均衡:把大量的请求按照指定方式均衡的分发到多个后端服务器上,避免单台服务器过载。
1 | upstream webservers { |
负载均衡策略:
策略 | 说明 |
---|---|
轮询 | 默认策略,按顺序将请求分发到后端服务器 |
weight | 按照权重分发请求,权重越高,分配的请求越多 |
ip_hash | 根据客户端 IP 地址进行负载均衡,同一 IP 地址的请求会被分发到同一台后端服务器 |
least_conn | 将请求分发到连接数最少的后端服务器 |
url_hash | 根据请求 URL 进行负载均衡,同一 URL 的请求会被分发到同一台后端服务器 |
fair | 根据请求的响应时间进行负载均衡,响应时间越短的服务器会被优先选择 |
比如使用 weight
策略:
1 | upstream webservers { |
…