这篇文章主要为大家介绍了Nginx反向代理与负载均衡概念理解及模块说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


Nginx负载均衡概念

准确的说,Nginx是作为Nginx代理反向代理使用的。因为这种反向代理功能表现出负载均衡的效果,所以被称为Nginx负载均衡。
负载均衡的效果主要取决于两个因素:

ngx _ http _代理服务器_模块

ngx _ http _上游_模块

前者是代理模块,用于向服务器节点或上游服务器池发送请求
后者是负载均衡模块,可以实现网站的负载均衡功能和节点的健康检查。

上游模块

NGX的负载均衡功能依赖于ngx_http_upstream_module模块,支持的代理方法有proxy_pass、fastcgi_pass、memcached_pass等。Nginx允许定义一组或多组节点服务器组,通过代理向预先定义的上游组发送网站请求。


upstream模块的使用方法

的基本配置情况

upstream www_server_pools { server 192.168.1.1; server 192.168.1.2; server 192.168.1.3;}

完整的配置案例

upstream www_server_pools { server 192.168.1.1:80 weight=1; server 192.168.1.2:80 weight=2; server 192.168.1.3:80 weight=2 max_fails=1 dail_timeout=10s;}

使用域名的配置案例

upstream backend { server backend1.yyang.com weight=3; server backend2.yyang.com:8080; server unix:/tmp/backend3;}


upstream模块说明server 192.168.1.1:80 #可以是ip也可以是域名weight=1 #权重值,默认为1,数越大接受的请求比例越大max_fails=1 #尝试连接后端主机失败的次数backup #热备配置fail_timeout=10s #距离下次检查的时间


http_proxy_module模块

Proxy_pass指令

通过位置将匹配的请求扔给定义的上游节点池。

Proxy_pass案例

location / { proxy_pass http://www_server_pools;}


完整的案例worker_processes1;events {worker_connections1024;}http {includemine.types;default_typeapp/octet-stream;sendfileon;keepalive_timeout65;upstream www_server_pools {server 192.168.1.1:80 weight=1;server 192.168.1.2:80 weight=1;server 192.168.1.3:80 weight=1;}server {listen 80;server_name www.yyang.com;location / {proxy_pass http://www_server_pools;}}}

以上是Nginx反向代理和负载均衡概念模块的详细内容。