Django项目总结:Nginx反向代理和负载均衡

Nginx 反向代理

proxy_pass  URL;  # 反向代理转发地址,默认不转发header,
                  # 需要转发header则设置:proxy_set_header HOST $host;
proxy_method  POST;  # 转发的方法名
proxy_hide_header Cache-Control;  # 指定头部不被转发 
proxy_pass_header Cache-Control;  # 设置哪些头部转发
proxy_pass_request_header on;  # 设置转发http请求头
proxy_pass_request_body on;  # 设置转发请求体

nginx + runserver

-- 运行runserver

-- 修改config.conf

-- 测试配置文件config.conf

-- 重新打开nginx

 

nginx + gunicorn

-- gunicorn.org

# 安装 gunicorn
pip install gunicorn

# 启动 gunicorn
gunicorn myproject.wsgi

修改 config.conf 对应gunicorn端口

# 修改 gunicorn 端口
gunicorn -b 0.0.0.0:9000 myproject.wsgi

Nginx 负载均衡-upstream

-- 通过一个简单的调度算法来实现客户ip到后端服务器的负载平衡

写法 
upstream myproject{ ip_hash; server
127.0.0.1:8000; server 127.0.0.1:8001 down; server 127.0.0.1:8002 weight=3; server 127.0.0.1:8003 backup; fair; } 负载均衡算法 weight 负载权重 down 当前server不参与负载均衡 backup 其它机器全down掉或满载使用此服务 ip_hash 按每个请求的hash结果分配,根据请求ip分配到第一次处理该ip的服务器 fair 按后端响应时间来分(第三方的)

原文地址:https://www.cnblogs.com/dc2019/p/13430679.html