Nginx 负载均衡

程序员 2024-10-8 20:44:42 133 0 来自 中国
Nginx 简介

Nginx(发音同engine x)是一款轻量级的Web服务器/反向署理服务器及电子邮件(IMAP/POP3)署理服务器,并在一个BSD协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及 Microsoft Windows等操纵体系中运行。
Nginx由俄罗斯的步伐筹划师Igor Sysoev所开发,最初供俄国大型的入口网站及征采引擎Rambler(俄文aM6nep)使用。其特点是占据内存少,并发本领强(用于办理C10K题目),究竟上Nginx的并发本领确实在同范例的网页服务器中体现较好。
Nginx做为一个强盛的Web服务器软件,具有高性能、高并发性和低内存占用的特点。别的,其也能够提供强盛的反向署理功能。俄罗斯约莫有凌驾20%的捏造主机采取Nginx作为反向署理服务器,在国内也有腾讯、新浪、网易等多家网站在使用Nginx作为反向署理服务器。据Netcraft统计,天下上最繁忙的网站中有11.48%使用Nginx作为其服务器或者署理服务器。

  • 基于反向署理的功能,Nginx作为负载均衡重要有以下几点来由:


  • 高并发毗连
  • 内存斲丧少
  • 设置文件非常简朴
  • 资本低廉
  • 支持Rewrite重写规则
  • 内置的康健检查功能
  • 节流带宽
  • 稳固性高
正向署理和反向署理


  • 正向署理
    正向署理类似一个跳板机,署理访问外部资源。即假设客户端无法访问某个网站,此时可以将访问哀求发送到正向署理服务器,然后由正向署理服务器将该哀求转发给某个网站,然后将相应内容返回给客户端。


  • 反向署理
    实际运行方式是指以署理服务器来继承internet上的毗连哀求,然后将哀求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上哀求毗连的客户端,此时署理服务器对外就体现为一个服务器。
即正向署理服务器是将哀求转发向外,而反向署理则是将哀求转发向内,此时反向署理中具体的web服务器是不能使用外网IP举行访问的。

  • 反向署理的作用

  • 包管内网的安全,可以使用反向署理提供WAF功能,构造web攻击。大型网站,通常将反向署理作为公网访问地点,Web服务器则是内网的。
  • 负载均衡,通过反向署理服务器来优化网站的负载。
负载均衡原理

负载均衡,单从字面上的意思来明白就可以解释N台服务器均匀分担负载,不会由于某台服务器负载高宕机和某台服务器闲置的环境。那么负载均衡的条件就是要2台以上服务器才气实现。
Nginx 负载均衡有4种方案设置

  • 轮询
    轮询即Round Robin,根据Nginx设置文件中的次序,依次把客户端的Web哀求分发到差别的后端服务器上。
  • 最少毗连 least_conn;
    Web哀求会被转发到毗连数最少的服务器上。
  • IP地点哈希 ip_hash;
    前述的两种负载均衡方案中,同一客户端一连的Web哀求大概会被分发到差别的后端服务器举行处理,因此如果涉及到会话Session,那么会话会比力复杂。常见的是基于数据库的会话恒久化。要降服上面的困难,可以使用基于IP地点哈希的负载均衡方案。如许的话,同一客户端一连的Web哀求都会被分发到同一服务器举行处理。
  • 基于权重weight
    基于权重的负载均衡即Weighted Load Balancing,这种方式下,我们可以设置Nginx把哀求更多地分发到高设置的后端服务器上,把相对较少的哀求分发到低配服务器。
负载均衡设置

1. 设置基于Round Robin轮询的负载均衡


  • 必要留意以下几点:

  • 缺省设置就是轮询计谋
  • nginx负载均衡支持http和https协议,只必要修改proxy_pass后协议即可
  • nginx支持FastCGl, uwsgi, sCGl,memcached的负载均衡,只需将proxy_pass改为fastcgi_pass,uwsgi_pass,scgi_pass,memcached_pass即可。
  • 此计谋得当服务器设置相当,无状态且短平快的服务使用。


  • 例子
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 18:48, Processed in 0.178705 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表