python架构方案django_Django部署方案简介

本文介绍了Django的两种部署方案:1. 使用Nginx与uWSGI结合,uWSGI提供高性能的WSGI服务器,适合大型项目;2. 结合Tornado,利用其异步特性,适用于高并发场景。详细讲解了每种方案的配置步骤和优缺点。
摘要由CSDN通过智能技术生成

引:Django是Python众多web框架中提供功能最全最丰富的一个,那么我们在实际应用中通常怎么去部署Django呢?下面我们就来看一看Django的部署方案有哪些。

1. Python web 程序的部署方法:

Django是采用python写的web框架,我们先来看下python的web程序的9种部署方法:

· mod_python,这是apache内置的模块,很严重的依赖于mod_python编译使用的python版本,和apache配套使用,不推荐;

· cgi,这个太old,不推荐,而且nginx不支持cgi方式,只能用lighttpd或者apache;

· fastcgi ,这个是目前流行最广的做法,通过flup模块来支持的,在nginx里对应的配置指令是 fastcgi_pass;

· spawn-fcgi,这个是fastcgi多进程管理程序,lighttpd安装包附带的,和flup效果一样,区别是flup是 python代码级引入,spawn-fcgi是外部程序,spawn-fcgi用途很广,可以支持任意语言开发的代码,php、python、perl,只要你代码实现了fastcgi接口,它都可以帮你管理你的进程;

· scgi,全名是Simple Common Gateway Interface,也是cgi的替代版本,scgi协议很简单,和fastcgi差不多,只是没有怎么推广开来,nginx对应的配置指令是scgi_pass,你想用就用,flup也支持;

· http,nginx使用proxy_pass转发,这个要求后端application必须内置一个能处理高并发的http server,在python的web框架当中,只能选择tornado;

python程序员喜欢发明轮子,tornado除了是一个web framework之外,它还可以单独提供高性能http server,所以,如果你采用其他python框架写代码,比如说bottle,也一样可以通过import tornado 来启动一个高性能的http server,同样的可以采用http协议和nginx一起来部署。扩展开来,python包里面能处理高并发的http server还有很多,比如说gevent,也可以被其他框架引用来支持http方式部署。

· uwsgi,包括4部分组成:

o uwsgi协议

o web server内置支持协议模块

o application服务器协议支持模块

o 进程控制程序

nginx从0.8.4开始内置支持uwsgi协议,uwsgi协议非常简单,一个4个字节header加一个body,body可以是很多协议的包࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值