实现nginx负载均衡

您所在的位置:网站首页 nginx死机 实现nginx负载均衡

实现nginx负载均衡

2023-09-26 17:45| 来源: 网络整理| 查看: 265

负载均衡常见方法 --->DNS域名解析(负载均衡)

通过DNS域名解析进行轮询,将用户流量分散到各个服务器上面。

# nslookup -->对域名进行解析

# 这里可以看到淘宝网站实现负载均衡的方式也是轮询

C:\Users>nslookup www.taobao.com -->一个域名解析到四台服务器 服务器: UnKnown Address: 192.168.0.1 非权威应答: 名称: www.taobao.com.danuoyi.tbcache.com -->原名 Addresses: 240e:c3:2000:208:3::3fa 240e:c3:2000:208:3::3f9 124.232.170.21 124.232.170.22 Aliases: www.taobao.com -->别名

DNS域名解析负债均衡:

弊端:DNS有缓存,客户机会一直使用某个曾经访问过的ip

DNS是别人的,自己不能控制,从管理上来说不方便管理控制。

优点:流量分散到各个服务器上

有容错功能(某个服务器坏了,可以将流量切到其他服务器上去)

一、准备4台全新的虚拟机

静态配置好IP地址,编译安装nginx,并启动nginx服务

# 查看nginx服务是否起来 ps aux|grep nginx -->看进程 lsof -i:80 --->看端口

 

loadbalance : 192.168.0.51  ens37(不配网关): 192.168.0.56

nginx1:192.168.0.52 real server

nginx2:192.168.0.53 real server

nginx3:192.168.0.54 real server

 关闭防火墙和selinux

 

确保每台机器的nginx都能访问

二、在LB上配置snat策略

[root@LB ~]# cat iptables.sh #!/bin/bash iptables -F iptables -t nat -F echo 1 >/proc/sys/net/ipv4/ip_forward #sant iptables -t nat -A POSTROUTING -o ens33 -s 192.168.0.51/24 -j SNAT --to-source 192.168.0.56

运行脚本

三、配置负载均衡--轮询

在LB上的nginx.conf

# 在http配置下加上 http { include mime.types; default_type application/octet-stream; # 定义一个负载均衡器,名字叫wangapp1 upstream wangapp1{ server 192.168.0.52; server 192.168.0.53; server 192.168.0.54; }

[root@LB conf]# nginx -t nginx: the configuration file /usr/local/wang_nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/wang_nginx/conf/nginx.conf test is successful [root@LB conf]# nginx -s reload # 检查配置文件是否有错误,重新加载

四、验证

可以在real server 修改html文件  

cd THML/index/html

#并刷新服务

nginx -s reload

在浏览器上输入192.168.0.56   

 

 

访问到了不同的real server -->实现了负载均衡

# 关闭LB的nginx nginx -s stop

 

# 再次访问 --->访问不到

 

# 查看日志 502 错误 502错误: 网关错误,服务器收到无效相应从上游服务器访问履行他的要求。

 

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3