nginx的负载均衡
在服务器集群中,nginx起到一个代理服务器的角色,为了避免单独一个服务器的,压力过大,将来自用户的请求转达给不同的服务器
负载均衡策略
轮询 默认的方式 在轮询中如果服务器down掉了,会自动剔除该服务器
weight 权重方式 权重越高分配到需要处理的请求越多,这个策略适合服务器的硬件设置差别比较大的情况
ip_hash 根据ip来分配的方式
upstream mysite_list{
ip_hash; #保证每个访客固定访问一个后端服务器
权重:server 127.0.0.1:9000 weight=4;
server 127.0.0.1:9090;
}
负载均衡用于从"upstream"模块定义的后端服务器列表中选取一台服务器接受用户的请求。
tail -f /var/log/mysite_supervisor.log
upstream mysite_list{
server 127.0.0.1:9001;
server 127.0.0.1:9002;
…
}
upstream模块配置完成后,要让指定的方位反向代理到服务器列表
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass mysite_list;
}
现复制:cp django_uwsgi.ini mysite_uwsgi_9090.ini
再修改:vim mysite_uwsgi_9090.ini
[uwsgi]
socket = :9090
chdir = /root/mysite
wsgi-file = mysite/wsgi.py
master = true
prosesses = 3
vacuum = true
pidfile = /var/log/uwsgi/mysite_9090.pid
cd /etc/supervisor
cd conf.d/
cp mysite.conf mysite_9090.conf
supervisorctl update status
cd /etc/nginx/:
cd conf.d/
vim mysite.conf
upstream mysite_list{
server 127.0.0.1:9000;
server 127.0.0.1:9090;
####权重设置方式:server 127.0.0.1:9000 weight=4;
}
server{
listen 8080;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass mysite_list;
}
location /static{
alias /root/mysite/static;
}
}