如何为apache和django设置mod_wsgi?

use*_*189 5 apache django mod-wsgi

我知道已经有很多关于这个主题的信息,但它们非常笨拙,不那么简单和富有表现力.任何人都可以解释我如何使用django和使用mod_wsgiapache

Fil*_*vić 9

mod_wsgi不是特别适合运行Python WSGI应用程序,或者,如果你更愿意,有更多pythonic方法可以运行你的Django实例.

首先,我认为理解Apache的请求处理模型并正确配置它需要花费很多精力,特别是对于mod_wsgi.如果你没有完全设置或锁定使用Apache,我建议你看一下像@Neo建议的nginx代理后面运行SpawningGreen Unicorn.

Spawning和gunicorn的速度非常快,不要求你使用特定的Python解释器编译Apache,并且支持逐步更新代码库,为Django和其他开箱即用的钩子提供支持.nginx,Spawning和gunicorn都有一个简单的处理模型,彼此保持完全独立,因此您可以获得更加透明的架构,更易于维护和监控.

这里有关于使用Eric Florenzano设置Django的Spawning 的精彩指南,这里有一个关于用该项目的作者BenoîtChesneau用gunicorn运行Django 的详尽介绍.

无论你选择哪种,你都会感觉正确@home.

  • 为WSGI应用程序配置mod_wsgi并不困难.问题是让人们真正阅读官方文档,而不是依赖于一些任意人的博客文章,关于他们如何为他们的特定设置做到这一点,这可能与其他人无关,甚至可能不为其他人工作.无论如何,有些人只是没有理解Apache的思维方式,在这种情况下,替代方案可能更合适,尤其是如果你是某种Python纯粹主义者,他对在Apache中嵌入Python的想法感到不满. (4认同)

Neo*_*Neo 5

我最近在Django上设置了我的应用程序,这个指南就是我所需要的.http://blog.stannard.net.au/2010/12/11/installing-django-with-apache-and-mod_wsgi-on-ubuntu-10-04/

所以基本上,这个过程是

  1. 设置另一台服务器以在端口80上提供静态文件(例如Nginx).
  2. 在其他端口上设置apache.
  3. 使用mod_wsgi在apache上运行django应用程序
  4. 将所有非静态/非媒体文件重新调整为apache + mod_wsgi/django

让我知道你被困在哪一步.