对于这样一个简单的问题,我非常抱歉 - 我是WSGI开发新手,我很感激您能承受的任何耐心。部署一个Django应用程序
我做了一个Django应用程序;它在开发模式下效果很好。我运行:
python manage.py runserver
然后直接我的浏览器到127.0.0.1:8000
,瞧,有我的应用程序。
从这里我绝对不能弄清楚如何在生产模式下运行我的应用程序。我已阅读了多个页面like thisand this和其他几个StackOverflow。但我不知道甚至可以指导我的浏览器查看我的页面是否正常工作。
我已经安装了apache2
,mod_python
等,但我认为这个问题是我的误解是在这样一个更基本的层面。当我过去完成CGI程序时,我用一个调用cgi-bin/file.cgi
的窗体将我的浏览器指向webroot/file.html
,该窗体生成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文档相当丰富;因此,我最好的猜测是,这是一件很简单的事情。
非常感谢您的帮助!
部署到现场服务器(根据您的服务器)绝非易事,但我不清楚你在问什么。你是在寻找一步一步的部署指南,还是有一个特定的领域,你挂断了? –
@DanielNill我充实了这个问题;我甚至不知道在哪里指向我的浏览器(我的Django项目没有单独的文件,将'cgi'启动其他文件)。当我试图按照文档指示创建'.wsgi'文件时,'apache'启动失败。 – user