据说部署Django最佳方式是使用WSGI,为什么呢?

7 投票
3 回答
1186 浏览
提问于 2025-04-15 19:41

我们正在部署一个django应用程序,我在文档中发现推荐使用WSGI的方式来进行部署。

在部署之前,我想知道为什么推荐这种方式,而不是另外两种方法,也就是使用mod_python和fastcgi……

非常感谢。

3 个回答

0

我在任何生产环境的Django应用中都使用mod_wsgi。它速度快,稳定性好,而且配置起来非常灵活。

你也可以多了解一下FastCGI这个方法。Eric Florenzano刚刚写了一篇关于Django和FastCGI的精彩文章,适合Django新手阅读:http://djangoadvent.com/1.2/deploying-django-site-using-fastcgi/

5

我们试过 mod_python。这个东西比较慢,而且配置起来也麻烦。它没有守护进程的功能。

我们没能把 fast_cgi 安装好,因为我们的 Apache、Red Hat 和 Python 的组合有问题。我也不太清楚具体哪里出错了,但就是没法正确安装。它不能把请求正确地发送给 Django,我们也没法找到问题所在。

我们第三次尝试了 mod_wsgi。这个安装得很顺利。它有守护进程的选项,配置起来非常简单。它允许我们在不重启整个 Apache 的情况下,轻松重启 Django 应用。

15

wsgi 通常是更受欢迎的选择,因为它让你可以把框架和网络服务器分开考虑。比如,如果你明天想把服务器从 Apache 换成 nginx,使用 wsgi 的话,这个转换就非常简单;如果不使用 wsgi,那就没那么容易了。

此外,使用 wsgi 还可以让你添加一些和框架无关的中间件,这样你就不需要依赖于你选择的框架已经实现的所有功能了。

撰写回答