django部署 nginx+uwsgi/gunicorn

适用于windows下开发后,部署在linux下
环境:
win10 pycharm2017 ubuntu14

部署前了解:

uwsgi专门处理python
tomvat java
nginx 相对 apache 的优点:
  • 轻量级,同样起web 服务,比apache 占用更少的内存及资源
  • 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
  • 高度模块化的设计,编写模块相对简单
  • 社区活跃,各种高性能模块出品迅速啊

apache 相对nginx 的优点:
  • rewrite ,比nginx 的rewrite 强大
  • 模块超多,基本想到的都可以找到
  • 少bug ,nginx 的bug 相对较多
  • 超稳定
  • 存在就是理由,一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。
这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并不是所有的情况下都是epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。当然,这只是根据网络IO 模型的原理作的一个假设,真正的应用还是需要实测了再说的。

一般部署方案:
nginx + uwsgi
nginx+gunicorn

个人体验:
gunicorn部署配置相对简单,nginx已经处理好大量静态文件,gunicore只需要处理剩下为数不多的请求,适合轻量级的web应用网站
uwsgi部署配置相对复杂过gunicorn,但是对于依然轻量级的web来说差不多,因为配置的繁琐,决定了它的高可塑性和可选性,性能方面也会更优于gunicorn

uwsgi与gunicorn

本文以阿里云(ubuntu14)+nginx+uwsgi部署为例

流程:服务器(建议云服务器,有公网ip可以外网访问)> 安装mysql-server > 安装nginx > 安装virtuanenv > 安装git > 将django项目clone到Linux上 > 安装uwsgi > 修改各配置 > 完成部署,外网访问

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值