Django,wsgi,py。 有什么不同?

我试图让我的cPanel系统上运行一个django应用程序。 我已经安装了mod_wsgi,并按照指南在这里: http : //www.nerdydork.com/setting-up-django-on-a-whm-cpanel-vps-liquidweb.html

然而,我现在感到困惑,因为我不知道下一步该怎么做。 该应用程序有.py文件,我可以通过这个来运行它:python manage.py runserver 211.144.131.148:8000

但是,这是通过命令行并绑定到端口8000.我想用Apache来代替。

问题是,该教程没有进一步深入到如何让Apache来识别.py文件,并运行应用程序,我想它。 接下来我该做什么?

如果你使用mod_wsgi ,你不希望Apache识别你的.py文件。 混乱,不是吗? 在这里,让我解释一下…

WSGI模块提供了Apache与您的Python进程之间的一种互连。 这是一个标准化的网关接口(Web服务器网关接口),可以这么说。

Django的官方文档是用Apache& mod_wsgiconfigurationDjango 1.1 。

一般来说,你只需要:

 WSGIScriptAlias / /path/to/mysite/apache/django.wsgi 

然后,您需要定义一个WSGI应用程序,作为Django应用程序的前端:

import操作系统
导入系统

 os.environ ['DJANGO_SETTINGS_MODULE'] ='mysite.settings'

导入django.core.handlers.wsgi
 application = django.core.handlers.wsgi.WSGIHandler()

*请注意,我从上面链接的文件中拿出了这些例子。

这现在将Apache连接到WSGI应用程序,然后将您的应用程序绑定到该WSGI应用程序。 WSGIScriptAlias行简单地告诉apache发送'/'或者更低的所有请求到你的WSGI应用程序,它将pipe理URL路由。

我通常使用FastCGI和Python flup模块进行这种部署,这个模块稍微复杂一些,但是如果你有时间的话,值得检查一下。