nginx 负载均衡

目录
  1. nginx 是什么?
  2. nginx 特点
  3. nginx 特性
  4. nginx 配置

nginx 是什么?

Nginx:Nginx (“engine x”) ,Nginx (“engine x”) 是俄罗斯人 Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器。也是一个 IMAP/POP3/SMTP 代理服务器;也就是说,Nginx 本身就可以托管网站,进行 HTTP 服务处理,也可以作为反向代理服务器使用。

nginx 特点

  • 跨平台:Nginx 可以在大多数 Unix like OS 编译运行,而且也有 Windows 的移植版本。

  • 配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置

  • 非阻塞、高并发连接:数据复制时,磁盘 I/O 的第一阶段是非阻塞的。官方测试能够支撑 5 万并发连接,在实际生产环境中跑到 2 ~ 3 万并发连接数.(这得益于 Nginx 使用了最新的 epoll 模型)

  • 事件驱动:通信机制采用 epoll 模型,支持更大的并发连接。

nginx 特性

master/worker 结构: 一个 master 进程,生成一个或多个 worker 进程

内存消耗小: 处理大并发的请求内存消耗非常小。在 3 万并发连接下,开启的 10 个 Nginx 进程才消耗 150M 内存(15M*10=150M)

成本低廉: Nginx 为开源软件,可以免费使用。而购买 F5 BIG-IP、NetScaler 等硬件负载均衡交换机则需要十多万至几十万人民币

内置的健康检查功能: 如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。

节省带宽: 支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。

稳定性高: 用于反向代理,宕机的概率微乎其微

1、nginx 代理和后端 web 服务器间无需长连接;

2、接收用户请求是异步的,即先将用户请求全部接收下来,再一次性发送后后端 web 服务器,极大的减轻后端 web 服务器的压力

3、发送响应报文时,是边接收来自后端 web 服务器的数据,边发送给客户端的

4、网络依赖型低。NGINX 对网络的依赖程度非常低,理论上讲,只要能够 ping 通就可以实施负载均衡,而且可以有效区分内网和外网流量

5、支持服务器检测。NGINX 能够根据应用服务器处理页面返回的状态码、超时信息等检测服务器是否出现故障,并及时返回错误的请求重新提交到其它节点上

nginx 配置

upstream www.blog.com {
#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}

26.1k