使用apache,一个wsgi或多个部署多个django项目?

时间:2013-09-12 16:54:54

标签: django apache mod-wsgi

我有一些我工作的django项目,我想用wamp服务器部署它们。我希望我的结构看起来像这样:

/www
    /project1
             /static
             /media
             /templates
             /project1
                  /settings.py
                  /urls.py
             /app1
             /app2

    /project2
             /static
             /media
             /templates
             /project1
                  /settings.py
                  /urls.py
             /app1
             /app2

然后网址会指向:

http://localhost/project1/(urls of project1)
http://localhost/project2/(urls of project2)

每个项目使用不同的数据库,不同的管理站点(某些自定义的),等等。我永远不需要在它们之间共享数据。我尝试搜索并阅读它,并使用多个WSGI脚本really buggy。另外据我所知,我不能使用推荐的守护进程模式,因为我正在使用Windows。

在同一台服务器上使用多个wsgi脚本是不是不赞成?我应该尝试创建一个能处理所有项目的程序吗?它会是什么样子,如何配置apache来使用它?我的预期结构完全错了吗?

我正在使用Apache 2.2e和mod_wsgi 3.3,Django 1.5.1和python 2.7

1 个答案:

答案 0 :(得分:1)

不是不赞成使用多个WSGI脚本并且这样做并不是错误的,除非Django生成一个狡猾的WSGI脚本文件,您需要更改它以确保您不会出现环境变量泄漏

也就是说,你可能仍然遇到Python的第三方C扩展模块的问题,这些模块已被破坏而且在子解释器中不起作用,这就是为什么如果可以的话,最好使用守护进程模式,因为你可以解决这个问题。越野车第三方模块。

总的来说mod_wsgi没有问题,但是如果使用其他使用次优配置方式的软件,或者被设计破坏的软件,则可能会遇到问题。

我个人建议不要使用Windows,因为运行Python Web应用程序的环境很差。如果绝对没有选择,只能使用Windows。