首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署Django应用程序

部署Django应用程序
EN

Stack Overflow用户
提问于 2011-10-28 17:24:21
回答 4查看 1.1K关注 0票数 3

对于这样一个简单的问题,我很抱歉--我是WSGI开发公司的新手,我很感激你能承受的任何耐心。

我做了一个Django应用程序;它在开发模式中工作得很好。我跑:

代码语言:javascript
复制
python manage.py runserver

然后把我的浏览器指向127.0.0.1:8000,瞧,这是我的应用程序。

在这里,我绝对不知道如何在生产模式下运行我的应用程序。我在像这样 还有这个和其他几页StackOverflow上读过几页。但是我甚至不知道在哪里可以指示我的浏览器来查看我的页面是否正常工作。

我已经安装了apache2mod_python等,但我认为问题在于,我的误解在一个更基本的层次上。当我在过去做过CGI程序时,我使用一个调用cgi-bin/file.cgi的表单将浏览器定向到cgi-bin/file.cgi,该表单生成html输出。我不知道我是否应该导航到.wsgi页面,等等。

假设我应该导航到一个.wsgi file,我还尝试创建一个文件,其中包括:

代码语言:javascript
复制
import os
import sys

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

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

path = '/home/orserang/nonparametric-protein/src/www/mysite$'
if path not in sys.path:
        sys.path.append(path)

再加上

代码语言:javascript
复制
WSGIScriptAlias / /path/to/mysite/apache/django.wsgi

到我的apache2/httpd.conf文件中,这样它的内容如下:

代码语言:javascript
复制
<Location "/mysite/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonOption django.root /mysite
    PythonDebug On
    PythonPath "['/home/orserang/nonparametric-protein/src/www/mysite'] + ['/home/orserang/nonparametric-protein/src/'] + sys.path"
    WSGIScriptAlias /mysite /home/orserang/nonparametric-protein/src/www/mysite/django.wsgi
</Location>

但是当我重新启动apache时,它说:

/etc/apache2/httpd.conf:第8行中的语法错误

WSGIScriptAlias不允许在这里

考虑到我甚至不知道我应该把浏览器指向哪个地方才能到达Django wsgi页面,我觉得有些事情很容易做错了。

也许Django WSGI应用程序需要在后台运行一些东西,这将侦听请求(而不是通过apache)?

与用于部署的文档相比,仅关于视图和数据库的在线Django文档本身是相当丰富的;因此,我最好的猜测是,这是一件非常简单的事情。

非常感谢你的帮助!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-28 17:33:32

Django图书2.0对此有一个概述。它通常不在Django文档中链接:

第12章:部署Django

查看“在Apacheandmod_python中使用Django”一节。

票数 1
EN

Stack Overflow用户

发布于 2011-10-28 17:47:40

您混淆了mod_python和mod_wsgi部署方法。除去Location指令中的所有内容,除了WSGIScriptAlias行。

票数 1
EN

Stack Overflow用户

发布于 2012-06-05 18:29:22

我编写了shell脚本,在apache上为linux部署django项目,

https://github.com/mukulu/shell-scripts/blob/master/deploy-django.sh

您只需要在代码的第一行中配置两个变量,它就可以计算出其余的变量。

它主要检查和安装django的依赖项,编写部署项目并重新启动服务器的apache配置。

我正计划用python重新编写它(我匆忙地编写了它),可以随意重复使用。

变量是:

代码语言:javascript
复制
SITE_PREFIX="/djangoproject"

MEDIA_URL="/media"

ADMIN_MEDIA_PREFIX="/static/admin/"

MEDIA_ROOT=""

DJANGO_VERSION="1.3.1"

APACHE2_CONFIG="/etc/apache2/conf.d"     #Apache configurations directory in yoru system.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7932651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档