對於這樣一個簡單的問題,我非常抱歉 - 我是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