对于这样一个简单的问题,我很抱歉--我是WSGI开发公司的新手,我很感激你能承受的任何耐心。
我做了一个Django应用程序;它在开发模式中工作得很好。我跑:
python manage.py runserver然后把我的浏览器指向127.0.0.1:8000,瞧,这是我的应用程序。
在这里,我绝对不知道如何在生产模式下运行我的应用程序。我在像这样 还有这个和其他几页StackOverflow上读过几页。但是我甚至不知道在哪里可以指示我的浏览器来查看我的页面是否正常工作。
我已经安装了apache2、mod_python等,但我认为问题在于,我的误解在一个更基本的层次上。当我在过去做过CGI程序时,我使用一个调用cgi-bin/file.cgi的表单将浏览器定向到cgi-bin/file.cgi,该表单生成html输出。我不知道我是否应该导航到.wsgi页面,等等。
假设我应该导航到一个.wsgi file,我还尝试创建一个文件,其中包括:
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)再加上
WSGIScriptAlias / /path/to/mysite/apache/django.wsgi到我的apache2/httpd.conf文件中,这样它的内容如下:
<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文档本身是相当丰富的;因此,我最好的猜测是,这是一件非常简单的事情。
非常感谢你的帮助!
发布于 2011-10-28 17:33:32
发布于 2011-10-28 17:47:40
您混淆了mod_python和mod_wsgi部署方法。除去Location指令中的所有内容,除了WSGIScriptAlias行。
发布于 2012-06-05 18:29:22
我编写了shell脚本,在apache上为linux部署django项目,
https://github.com/mukulu/shell-scripts/blob/master/deploy-django.sh
您只需要在代码的第一行中配置两个变量,它就可以计算出其余的变量。
它主要检查和安装django的依赖项,编写部署项目并重新启动服务器的apache配置。
我正计划用python重新编写它(我匆忙地编写了它),可以随意重复使用。
变量是:
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.https://stackoverflow.com/questions/7932651
复制相似问题