转载:
不要直接 python manage.py runserver 进程挂了 服务就没了
Django 本身提供了runserver,为什么不能用来部署?而是使用nginx+uWSGI部署?
runserver 方法是调试Django 时经常用到的运行方式,它使用Django 自带的WSGI Server 运行,主要在测试和开发中使用,并且runserver 开启的方式也是单进程。
uWSGI 是一个Web 服务器,它实现了WSGI 协议(web服务网关接口)、uwsgi(线路协议)、http 等协议。注意uwsgi 是一种通信协议,而uWSGI 是实现uwsgi 协议和WSGI 协议的Web 服务器。uWSGI 具有超快的性能、低内存占用和多app 管理等优点,并且搭配着Nginx 就是一个生产环境了,能够将用户访问请求与应用app 隔离开,实现真正的部署。相比来讲,支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。
参考:
https://www.cnblogs.com/luodaxia/p/12023492.html
https://docs.djangoproject.com/zh-hans/2.2/howto/deployment/wsgi/