[英]Installing Django with mod_wsgi
我使用Django 1.0編寫了一個應用程序。 它與django測試服務器一起工作正常。 但是當我試圖讓它進入更有可能的生產環境時,Apache服務器無法運行應用程序。 我使用的服務器是WAMP2.0 。 我多年來一直是PHP程序員,很久以前我一直在使用WAMPServer。 我安裝了mod_wsgi.so並且似乎工作正常(沒有服務錯誤)但我無法配置httpd.conf來查看位於服務器根目錄之外的python腳本。
現在,我很酷,覆蓋文檔根目錄並從文檔根目錄中提供django應用程序,因此httpd.conf行應該如下所示:
WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi
但服務器的響應是403 Forbidden
你有:
WSGIScriptAlias / /C:/Users/Marcos/Documents/mysite/apache/django.wsgi
這是錯誤的,因為RHS不是有效的Windows路徑名。 采用:
WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi
也就是說,在Windows驅動器說明符之前沒有前導斜杠。
除此之外,請遵循其他人指出的mod_wsgi文檔。
海報編輯了一個問題來改變現在看起來在帖子中的拼寫錯誤,而不是他的配置問題。
如果是這種情況,403的下一個原因如下。
首先,你還需要:
<Directory C:/Users/Marcos/Documents/mysite/apache>
Order deny,allow
Allow from all
</Directory>
如果您沒有,那么Apache沒有被授予從該目錄提供腳本的權限,因此將返回FORBIDDEN(403)。
其次,你確實擁有它,但不承認你這樣做,並且用戶無法讀取Apache服務在Windows下運行的目錄或WSGI腳本文件。
你看過http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango嗎?
你需要不止一行來確保Apache能夠很好地發揮作用。
Alias /media/ /usr/local/django/mysite/media/
<Directory /usr/local/django/mysite/media>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /usr/local/django/mysite/apache/django.wsgi
<Directory /usr/local/django/mysite/apache>
Order deny,allow
Allow from all
</Directory>
<Directory>
以及適當的文件系統所有權和權限是必不可少的。
usr/local/django/mysite/apache
目錄包含你的Python / Django應用程序和最重要的django.wsgi
文件。 您必須提供此目錄的權限。
mod_wsgi的文檔非常好。 嘗試使用他們的快速配置指南並從那里開始: http : //code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.