负载均衡的配置流程

1. 配置负载均衡策略, 在/etc/nginx/conf.d/新建一个nginx.conf配置文件, 加入以下内容

upstream backend{
#ip_hash;
#weight 服务器权重值,如果服务器性能一致,可以将权重值配置为一样
server 127.0.0.1:9701 weight=1;
server 127.0.0.1:9702 weight=2;
server 127.0.0.1:9703 weight=4;

}
server {
#用户访问的端口号, 注意的服务器里面是否以开此端口
    listen         8001;
    server_name    127.0.0.1;
    access_log      /var/log/nginx/nginx_demo_access.log;
    error_log       /var/log/nginx/nginx_demo_error.log;
charset     utf-8;

    client_max_body_size 75M;
    location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
#Backend自己随便起的,但是要保证和upstream后面的名一致
proxy_pass http://backend;
   }

 }

2. 将项目上传到服务器, 配置uwsgi文件和项目对应nainx端口server, 因此使用端口做的负载均衡, 所以需要将项目复制三份放在不同的目录下, 在每一个项目下新建对应的uwsgi.ini文件, 加入项目启动的uwsgi相关配置
例如:
每个project里面就是放的同一个项目(复制成三份)

里面uwsgi.ini配置(其中一个, 直接将其复制到其他项目中, 注意文件的路径的配置)

[uwsgi]

# Django-related settings

# (/9802/9803)
socket = 127.0.0.1:9801

项目绝对路径

chdir           = /home/project/FuZai

Django的wsgi文件相对路径

wsgi-file       = FuZai/wsgi.py

# process-related settings

# master

master          = True

# 最大进程数

processes       = 4

# 线程数

threads         = 2

#设置此参数,有一个主进程

master=True

#守护进程的方式运行,log日志存在此log文件里

deamonize=/var/log/uwsgi/djangoProject.log

#主进程id写入文件里

pidfile= /var/log/nginx/uwsgi.pid

# ... with appropriate permissions - may be needed

# chmod-socket    = 664

#退出时,清理环境

vacuum          = True

reload-mercy    = 10

max-requests    = 5000

limit-as        = 512

buffer-size     = 30000


3. 在/etc/nginx/conf.d下新建project_nginx.conf(自定义)文件, 在文件中配置nginx服务监听server端口, 需要监听upstearm backend中监听的三个端口,分别配置三个server,监听不同端口,配置和uwsgi交互的内网端口,例如 9701<->9801  ,9702<->9802,9703<->9803....

例如:

server {
    listen         9701;
    server_name    127.0.0.1;
    access_log      /home/project/FuZai/FuZai_access.log;
    error_log       /home/project/FuZai/FuZai_error.log;
    charset     utf-8;

    client_max_body_size 75M;
    root /home/project/FuZai;
    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9801;
        uwsgi_read_timeout 2;
    }
  }

server {
    listen         9702;
    server_name    127.0.0.1;
    access_log      /home/project2/FuZai/FuZai_access.log;
    error_log       /home/project2/FuZai/FuZai_error.log;
    charset     utf-8;

    client_max_body_size 75M;
    root /home/project2/FuZai;
    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9802;
        uwsgi_read_timeout 2;
    }
  }

server {
    listen         9703;
    server_name    127.0.0.1;
    access_log      /home/project3/FuZai/FuZai_access.log;
    error_log       /home/project3/FuZai/FuZai_error.log;
    charset     utf-8;


    client_max_body_size 75M;
    root /home/project3/FuZai;
    location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9803;
        uwsgi_read_timeout 2;
    }
  }


4. 开启多个服务器


每个项目开一个


测试网站点击打开链接





  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

她最爱橘了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值