django + nginx 实现负载均衡

django配置

django的管理工具manage.py有个命令叫runserver,可以直接启动django的web服务。 
我们可以写个bat文件来启动它: 
runserver.bat :

%~d0
cd %~dp0
python manage.py runserver 8662
  • 1
  • 2
  • 3

然后可以到http://download.csdn.net/detail/a23764996/9724318 下载一个在后台运行cmd窗口的工具来运行runserver.bat。这时候本地的django web服务就启动了

nginx部署配置

nginx相对于其他web服务器有个非常非常好用的特性:反向代理和负载均衡。 
通过反向代理的原理,我们就可以把本地的django web服务开放给外部Internet进行访问。 
具体配置如下: 
nginx安装,这里就不细说 
nginx conf配置(核心):

upstream bbs.linuxtone.com {
    server 127.0.0.1:8662;   //负载均衡配置,在这里配置本地django web地址
}

server {
        listen       8666;
        server_name  auto.apitest.com;

    index   index.php index.html index.htm;

    location ~ ^/static/ {    //静态文件配置
            root C:/***/static/;
            expires 30d;  
            break; 
        }

    location ~ ^/ {
             root    C:/****/;   //django根目录配置
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass    http://bbs.linuxtone.com;   //负载均衡地址
        }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

配置完后,重启nginx,通过ip:8666就可以访问了

猜你喜欢

转载自blog.csdn.net/qq_37049050/article/details/80881708