搭建 Django 项目时其自带的服务器与 Nginx、Apache 有何不同呢?

2017-10-05 18:02:59 +08:00
 liz2nku

在部署 Django 的时候有一个 runserver 命令可以直接作为服务器使用,那为什么还看到有很多文章介绍 Django 在 Nginx/Apache 上部署呢?是从性能/稳定性方面考虑的吗?

7001 次点击
所在节点    Python
6 条回复
asuraa
2017-10-05 18:20:08 +08:00
最近正好在学 django,尝试回答下吧,我觉得有以下原因
runserver 是作为开发时候用的,不适合用于生产环节
1 静态文件: runserver 服务器当 debug=True 的时候 才会开启静态文件服务器。
2 性能: runserver 应该是单线程的。性能差,如果出现错误挂掉。那么整个进程都挂掉了。用 Nginx apache 的话 应该是只有香港的进程才会挂掉
siriussilen
2017-10-05 19:47:23 +08:00
性能!当然是性能!
janxin
2017-10-05 20:54:27 +08:00
Kilerd
2017-10-05 21:21:45 +08:00
block
原因:文档中有的内容 + 百度随便能搜到
BingoXuan
2017-10-06 00:19:56 +08:00
Django 是 Web 框架而已,Apache 和 Nginx 才是 Web 服务器。当你搭建了 Web 服务器之后,才有部署 Web 框架应用的可能。
而且你试一下在 80 端口打开 Django 看看,一般会被占用。因为 Django 本来就不是 Web 服务器,管理不了端口。
xiaket
2017-10-06 06:03:35 +08:00
@BingoXuan OP 的问题糊涂,你这答案比他的问题更糊涂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/395533

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX