簡體   English   中英

使用mod_wsgi安裝Django

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM