Nginx实现负载均衡

37人浏览 / 0人评论
点击上面蓝字“ 关注我们 ”吧


相关概念

1 、概念
调度器:分发用户的请求到一个后端节点
上游服务器 ( 真实服务器 ) :每个真正用来处理用户请求的节点都是一个上游服务器
CIP:(client IP)客户端的IP地址RIP:(real IP)真实服务器的IP地址VIP:(virtual IP)虚拟IP,用户所看到的是也是虚拟IP
2 、指令
指令: upstream
     作用:定义一个上游服务器组
     格式
       
upstream name {            server  上游服务器1  参数 参数;            server  上游服务器1  参数 参数;            server  上游服务器1  参数 参数;        

3 、参数
weight=#:设置服务器的权重(数字越大,权重越高)backup:设置服务器处于备用状态(其他节点出现故障,备用节点才开始工作)down:设置让一个节点处于离线状态(经常用在维护一个节点的情况下)max_fails=number:设置连续几次转发失败就认为该节点出现故障,然后就不再向该节点转发用户请求了fail_timeout=time:和上个参数组合使用,作用是设置等待上游服务器响应超时时间


部署步骤

1 、检查环境
getenforce       #查看selinux运行状态setenforce 0       #临时关闭selinuxselinux开机不自启的配置如下:执行:vi /etc/selinux/config将SELINUX=xxxx 修改为SELINUX=disabled

systemctl status firewalld #检查firewalld是否启动,未启动需执行:systemctl start firewalld;已启动请忽略systemctl enable firewalld #做开机启动

2 、安装服务
yum -y install nginx       #安装nginx服务

3 、建立路径
mkdir -p /work/Amkdir -p /work/Becho "aaaaaaaaa" > /work/A/index.htmlecho "bbbbbbbb" > /work/B/index.html

4 、编辑配置文件
cd /etc/nginx/conf.dvim ab.conf########################### server {       listen      80;       server_name a.com;       location / {       root /work/A;       }} server {       listen      80;       server_name b.com;       location / {       root /work/B;       }}server {       listen      80;       server_name c.com;       location / {       proxy_pass http://abc;       }}upstream abc {            server     127.0.0.1:81;            server     127.0.0.1:82;}server {       listen      81;       server_name a.com;       location / {       root /work/A;       }}server {       listen      82;       server_name b.com;       location / {       root /work/B;       }}########################

5 、查错
nginx –t       #必要步骤

6 、重启服务
systemctl restart nginx

7 、添加防火墙端口
firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --reload

8 、设置域名静态解析
echo "192.168.5.10 a.com" >> /etc/hostsecho "192.168.5.10 b.com" >> /etc/hostsecho "192.168.5.10 c.com" >> /etc/hosts

9 、系统内验证
curl a.comcurl b.comcurl c.com


最后补充

反向代理和负载均衡的区别
1 、反向代理 proxy_pass 后跟的是一个具体的 IP 地址,负载均衡 proxy_pass 后跟的是集群名;
2 、反向代理代理到的是某一个特点的服务器,而负载均衡器是根据算法调度到集群中的某个节点上;
3 、反向代理和负载均衡都可以使用模式匹配(正则)。



一个会购物,能赚钱的公众号,点击关注!

全部评论