nginx、gunicorn实现负载均衡

  • Nginx安装

    $ sudo apt-get install nginx
  • 启动

    /etc/init.d/nginx start 或者 service nginx start
    /etc/init.d/nginx stop 或者 service nginx stop
  • 配制文件

    编辑文件:/etc/nginx/sites-available/default
# 如果是多台服务器的话,则在此配置,并修改 location 节点下面的 proxy_pass
upstream django {
		# 8000端口访问率是8001端口的3倍 3/4:1/4
        server 127.0.0.1:8000 weight=3;  #权重分配weight
        server 127.0.0.1:8001 weight=1;
}
server {
        # 监听80端口
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # 请求转发到gunicorn服务器
                # proxy_pass http://127.0.0.1:8000;
                # 请求转发到多个gunicorn服务器
                proxy_pass http://django;
                # 设置请求头,并将头信息传递给服务器端 
                proxy_set_header Host $host;
                # 设置请求头,传递原始请求ip给 gunicorn 服务器
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
  • Gunicorn安装

    pip install gunicorn
  • 启动

# -w: 表示进程(worker) -b:表示绑定ip地址和端口号(bind)
# gunicorn -w 2 -b 127.0.0.1:8000 运行文件名称:django程序实例名
gunicorn -w 2 -b 127.0.0.1:8000 wsgi:application
# gunicorn -w 2 -b 127.0.0.1:8001 运行文件名称:django程序实例名
gunicorn -w 2 -b 127.0.0.1:8001 wsgi:application

你可能感兴趣的:(nginx、gunicorn实现负载均衡)