搭建nginx负载均衡,可以如此的简单

2023-03-30  本文已影响0人  T_zw

一、负载均衡:

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除,剩下的继续轮询。


在这里插入图片描述

2.权重 (weight)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream backend{
    server 192.168.25.74:5000 weight=1;
    server 192.168.25.218:5000 weight=1;
}

3.ip_哈希算法(ip_hash)
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
注:ip_hash和weight不能共用

upstream backend{
    ip_hash;
    server 192.168.25.74:5000;
    server 192.168.25.218:5000;
}

4.fair(第三方)
这个fair表示的是按照服务器响应时间的长短来进行分发的,服务器响应时间越短的,优先分发。

upstream backend{
    server 192.168.25.74:5000;
    server 192.168.25.218:5000;
    fair;
}

二、用nginx搭建负载均衡

192.168.25.83           #nginx负载均衡服务器
192.168.25.74           #服务器    
192.168.25.218          #服务器

1.服务器运行程序(192.168.25.218、192.168.25.74)(为了看出效果,两个Python项目返回服务器的地址218、74)

apt-get install python-pip          #安装pip
pip install flask                   #pip引入flask
#192.168.25.74服务器运行的Python程序
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
        return "hello_74"
if __name__ == '__main__':
        app.run(debug=True,host='0.0.0.0');
  
#192.168.25.218服务器运行的Python程序
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
        return "hello_218"
if __name__ == '__main__':
        app.run(debug=True,host='0.0.0.0');
在这里插入图片描述

2.安装nginx(192.168.25.83 执行)

apt-get update 
apt-get install nginx -y

3.配置nginx.conf,进到/etc/nginx目录(192.168.25.83 执行)。

vim /etc/nginx/nginx.conf

4.配置Nginx的负载均衡与分发策略(192.168.25.83 执行)

#通过在upstream参数中添加的应用服务器IP后添加指定参数即可实现
upstream backend{
      server 192.168.25.74:5000;
      server 192.168.25.218:5000;
}
server{
      listen 81;
      location  / {
            proxy_pass  http://backend;
      }
}
在这里插入图片描述

5.启动nginx

/etc/init.d/nginx start
或
/usr/sbin/nginx -c /etc/nginx/nginx.conf

6.浏览器访问nginx,查看是否成功。

http://192.168.25.83:81/
在这里插入图片描述
在这里插入图片描述

6.nginx负载均衡搭建成功~~~

本文由博客一文多发平台 OpenWrite 发布!

上一篇下一篇

猜你喜欢

热点阅读