nginx配置负载均衡--实战项目(适用于轮询、加权轮询、ip
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
博主简介
云计算领域优质创作者
华为云开发者社区专家博主
阿里云开发者社区专家博主
交流社区运维交流社区 欢迎大家的加入
希望大家多多支持我们一起进步
如果文章对你有帮助的话欢迎 点赞 评论 收藏 ⭐️ 加关注+
文章目录
两台服务器
服务器ip | 应用谁用 |
---|---|
172.16.10.10 | 线上 |
172.16.10.20 | 研发 |
业务需求
有两台服务器一台供于线上使用172.16.10.10一台供于研发使用172.16.10.20
如果线上的服务器挂了需要将所有请求转移到研发的机器上以确保线上服务正常使用
正常时间还是线上使用线上的服务器研发用研发的服务器只有在线上服务器挂了的时候才会使用备用的研发服务器
需求实现
使用nginx负载均衡来实现
ip_hash
方式
在nginx服务器配置中添加负载设置负载均衡时同台服务器不同端口也可以不同服务器同端口也可以
upstream front_server{ #定义一个服务配置front_server
ip_hash; #表示配置一个用户固定访问一台设备
server 172.16.10.10:8080 weight=1; #第一台服务机器 设置权重值1
server 172.16.10.20:8080 weight=2; #第二台服务机器 设置权重值2
}
server {
listen 8099; #如果有一个服务是本台的那么8080肯定会被占用这时候我们可以改一个访问端口即可
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
# index index.html index.htm;
proxy_pass http://front_server$request_uri;
proxy_http_version 1.1;
proxy_set_header Uparade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
配置完负载之后报错保存退出检测nginx
配置语法是否有误
#检测nginx配置语法是否有误前面路径可根据自己安装的目录来写
/usr/local/nginx/sbin/nginx -t
返回这个有ok
则nginx配置没有问题如果有报错会显示几行报错的。
检测没问题之后重新启动nginx服务
#重启nginx服务前面路径可根据自己安装的目录来写
/usr/local/nginx/sbin/nginx -s reload
#启动完成检查是否启动ps查看服务是否正常启动、netstat查看配置的端口是否正常启动
ps -ef | grep nginx
netstat -anput | grep 8099
#完成之后就可以页面访问了。
配置好之后这个只是配置了负载均衡如果服务有后缀那么自己在访问负载的
ip:prot
的时候在后面加上后缀即可。例如172.16.10.10:8099/cs/index/
访问页面持续监控两台服务的日志输出测试即可
负载均衡方式常用的三种
轮询两台服务器会随机发送请求
加权轮询两台服务器也都会随机发送请求但是会有一个权重值谁的权重值高接收的请求就会比另一个多
ip_hash也是会有权重值谁的权重值越高请求就会在最高的权重值中只有当权重值最高的那台服务器挂了再会去找权重值第二的服务器1为最高权重值
- 轮询
upstream front_server{ #定义一个服务配置front_server
server 172.16.10.10:8080; #第一台服务机器两台服务器随机分配请求
server 172.16.10.20:8080; #第二台服务机器两台服务器随机分配请求
}
- 加权轮询
upstream front_server{ #定义一个服务配置front_server
server 172.16.10.10:8080 weight=5; #第一台服务机器权重值比较高所以大部分的请求都会在10上
server 172.16.10.20:8080 weight=2; #第二台服务机器权重值比较低所以少部分的请求会在20上
}
- ip_hash
upstream front_server{ #定义一个服务配置front_server
ip_hash; #表示配置一个用户固定访问一台设备
server 172.16.10.10:8080 weight=1; #第一台服务机器 设置权重值1则优先访问10服务器。
server 172.16.10.20:8080 weight=2; #第二台服务机器 设置权重值210服务器挂了则访问20服务器。
}
相关文章
文章标题 | 文章连接 |
---|---|
【Linux】nginx基础篇 – 介绍及yum安装nginx | https://liucy.blog.csdn.net/article/details/133928000 |
【Linux】环境下部署Nginx服务 - 二进制部署方式 | https://liucy.blog.csdn.net/article/details/132145067 |
nginx配置负载均衡–实战项目适用于轮询、加权轮询、ip_hash | https://liucy.blog.csdn.net/article/details/133986013 |
nginx快速部署一个网站服务 + 多域名 + 多端口 | https://liucy.blog.csdn.net/article/details/133986102 |
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |