准确来说,Nginx是作为Nginx Proxy反向代理使用的,因为这个反向代理功能表现出负载均衡的效果,所以称之为Nginx负载均衡。
实现负载均衡的效果主要依赖两个组件:
ngx_http_proxy_module
ngx_http_upstream_module
前者是proxy代理模块,用于把请求传给服务器节点或upstream服务器池
后者是负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查
upstream模块
Nginx负载均衡功能依赖ngx_http_upstream_module模块,支持的代理方式包括proxy_pass、fastcgi_pass、memcached_pass等;允许Nginx定义一组或多组节点服务器组,使用proxy代理方式把网站请求发送到事先定义好的upstream组。
upstream模块的使用方法
基本的配置案例
?
1
2
3
4
5
upstream www_server_pools {
server 192.168.1.1;
server 192.168.1.2;
server 192.168.1.3;
}
较完整的配置案例
?
1
2
3
4
5
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;
}
使用域名的配置案例
?
1
2
3
4
5
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指令
通过location将符合匹配的请求抛给定义好的upstream节点池。
proxy_pass案例
?
1
2
3
location / {
proxy_pass http://www_server_pools;
}
完整的案例
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mine.types;
default_type app/octet-stream;
sendfile on;
keepalive_timeout 65;
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反向代理与负载均衡概念模块的详细内容,更多关于Nginx反向代理与负载均衡概念的资料请关注服务器之家其它相关文章!
原文链接:https://yyang.blog.csdn.net/article/details/109852373
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。