千家信息网

Nginx中怎么实现负载均衡

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,Nginx中怎么实现负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。upstream 支持4种负载均衡调度算法:A)轮询(默认):
千家信息网最后更新 2025年01月25日Nginx中怎么实现负载均衡

Nginx中怎么实现负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

upstream 支持4种负载均衡调度算法:

A)轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器;

B)ip_hash:每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。

C)url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。

D)fair:这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持 fair的,如果需要使用这种调度算法,必须下载Nginx的 upstream_fair模块。

1、默认轮训

打开 nginx 配置文件

[root@master ~]# vi /etc/nginx/conf.d/default.conf

写轮训配置

#设定负载均衡服务器列表upstream roundrobin {  #后端服务器访问规则 server 192.168.1.115:8080 weight=1;  #server1 server 192.168.1.131:8081 weight=1;  #server1 server 192.168.1.94:8090 weight=1;  #server3}server {  listen 80;  server_name 192.168.1.131;  location / {    proxy_pass http://roundrobin;  }}

配置完成后

//检查 nginx 配置是否正确nginx -t //重新加载 nginx 配置service nginx reload

当访问 http://192.168.131 的时候,会把这个请求负载到 192.168.1.115 的 8080 端口、192.168.1.115 的 8080 端口、192.168.1.115 的 8080 端口。负载的权重由 weight 来决定,默认为 1 ,weight 越大,权重就越大。

2、基于hash

#设定负载均衡服务器列表upstream roundrobin {  #后端服务器访问规则 ip_hash;         #添加参数支持哈希 server 192.168.1.115:8080 weight=1;  #server1 server 192.168.1.131:8080 weight=1;  #server1 server 192.168.1.94:8090 weight=1;  #server3 }server {  listen 80;  server_name 192.168.1.131;  location / {    proxy_pass http://roundrobin;  }}

设置后端负载均衡服务器的状态

down,表示当前的server暂时不参与负载均衡。

backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因 此这台机器的压力最轻。

注意:backup不能和ip_hash同时配置。因为ip_hash只能访问同一台服务器,而backup是在只有所有参与 负载均衡的服务器出现故障时,才会请求备份机。当所有负载均衡的服务器出现故障了,ip_hash的将无法 请求了。

#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 server 192.168.1.115:8080 weight=1;  #server1 server 192.168.1.131:8080 down;   #server2 不参与负载 server 192.168.1.94:8090 backup;   #server3 备份机 }server {  listen 80;  server_name 192.168.1.131;  location / {    proxy_pass http://roundrobin;  }}

看完上述内容,你们掌握Nginx中怎么实现负载均衡的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

服务器 服务 均衡 配置 机器 分配 时间 算法 备份 故障 时候 端口 规则 问题 支持 内容 方法 智能 更多 权重 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有机化合物键能数据库 流式计算数据库技术和方案 中国电信大数据库 佛山网络安全工程师薪资 数据库上云怎么迁移 我的理想是软件开发 山东盼达网络技术有限公司 奥巴马演讲 网络安全 爬虫和数据库有什么区别 魔兽世界轮回服开了几个新服务器 数据库技术是利用数据库组织 新斗罗大陆怎么服务器 网络安全监测预警制度的成就 微信服务器内部错误500 数据库系统中应用程序 n11数据库管理工具密码在哪里 微信一键转发的软件开发 衢州云软件开发是做什么的 ping服务器工具 移动硬盘变成数据库怎么恢复 网络安全手抄报内容 小学生 软件开发增值税优惠申请 数据库中有多少表 软件开发有什么大学 维护网络安全从我做起观后感 服务器安全狗怎么开 服务器网络同传 文华财经软件开发员面试 移动硬盘变成数据库怎么恢复 数据库查询类别和平均价格
0