一、负载均衡:
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 发布!
网友评论