django项目之生产环境部署Django+uwsgi+nginx

本文详细介绍了如何在Linux环境下部署Django项目,利用uwsgi和nginx实现高并发处理。从uwsgi介绍、Django并发问题,到实际的部署步骤,包括环境准备、uwsgi和Django程序测试、配置nginx与uwsgi的通讯,直至负载均衡和日志监控,提供了一整套生产环境部署方案。
摘要由CSDN通过智能技术生成

目录篇:Django总目录篇 点击跳转

目录


部署前戏

pycharm环境下的django承受不了多并发(几十个人并发访问就down掉)
生成环境中django需要承载高并发的,所以是Django + Uwsgi + Nginx(IO多路复用epel)

     uwsgi介绍

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。
要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。
1.WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用django\Flask\tornado\nodejs\..\框架写的程序)通信的一种规范。
2.uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。(uWSGI和Nginx一样属于WEB服务器,而uwsgi线路协议是为uWSGI服务的)
3.而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。
4.uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。

web访问顺序:用户访问--->Nginx---->uWSGI---->django

从上面看nginx +uWSGI+django一台机器可以每秒处理并发2000+

uWSGI的主要特点如下
1.超快的性能
2.低内存占用(实测为apache2的mod_wsgi的一半左右)
3.多app管理(终于不用冥思苦想下个app用哪个端口比较好了-.-)
4.详尽的日志功能(可以用来分析app性能和瓶颈)
5.高度可定制(内存大小限制,服务一定次数后重启等)

 

    让Django并发多少都不是问题

除了部署nginx +uWSGI+django一台机器可以每秒处理并发2000+
我们还需要配合服务器集群
如果你懂linux服务器集群,下面是以前写的用户到网站的集群内部流程(意味你有多少台web服务器,并发随之增长)

linux实战部署Django+uwsgi+nginx

    1.环境准备

服务器:
    负载均衡服务器 ip:10.0.0.6(使用了niginx工具实现负载均衡,同时使用了keeplive做

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值