2012-07-03 61 views
4

如何在共享主機中設置Django網站? 我檢查Django的安裝,它是確定在共享主機上設置Django網站

>>> import django 
>>> django.VERSION 
>>> (1, 4, 0, 'final', 0) 

我已經按照http://www.djangobook.com/en/2.0/chapter12/節上與Apache共享主機提供商都無濟於事運行Django。目前,該網站是這樣

/home/django_projects/WebsiteName 
/sites/WebsiteName.co.id/www/.htaccess 
/sites/WebsiteName.co.id/www/dispatch.fcgi 

.htaccess文件是這樣

AddHandler fastcgi-script .fcgi 

RewriteEngine On 
RewriteBase/
RewriteRule ^(media/.*)$ $1 [QSA,L] 
RewriteRule ^(admin_media/.*)$ $1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L] 

和dispatch.fcgi是這樣

#!/usr/bin/python 
import sys, os 
sys.path = ['$HOME/lib/python/Django-1.4'] + sys.path 
sys.path = ['$HOME/django_projects'] + sys.path 

os.chdir("$HOME/django_projects") 
#from flup.server.fcgi import WSGIServer 
from django.core.servers.fastcgi import runfastcgi 

os.environ['DJANGO_SETTINGS_MODULE'] = 'WebsiteName.settings' 
runfastcgi(["method=threaded", "daemonize=false"]) 

它不斷產生錯誤500,內部錯誤當我訪問該網站時。我到目前爲止所嘗試的是,

[1] Changing AddHandler fastcgi-script .fcgi to AddHandler fcgid-script .fcgi 
[2] Removing AddHandler fastcgi-script .fcgi 
[3] Putting the website directory to /sites/WebsiteName.co.id/www/WebsiteName instead of /home/django_projects/WebsiteName/ 
[4] Do no. 3 and move dispatch.fcgi to /sites/WebsiteName.co.id/www/WebsiteName 

對不起,如果這個問題太愚蠢了。我是Django的新手。順便說一句,沒有1-4是不是爲了。這只是爲了將迄今爲止我嘗試過的東西編號。如果我不這樣做。 4,網站顯示dispatch.fcgi的內容。

+0

在共享主機上,提供商可能會有更改安全性,限制等內容。嘗試聯繫他們獲取配置幫助 –

+1

他們是否允許您訪問網址的錯誤日誌?這將是解決問題的最佳方法。 Apache error.log應該顯示到底發生了什麼問題。我正在編寫一個Python共享主機平臺,這是我在這些情況下必須考慮的第一件也是最後一件事。 – aychedee

+0

.htaccess和dispatch.fcgi沒有明顯的錯誤嗎? –

回答

1

在共享主機上使用mod_wsgi更容易部署。我在Quijost上工作,我們在mod_wsgi下使用nginx作爲後端提供了一個Django 1.4和Python 2.7的內置包。 我們在mod_wsgi的論壇中寫了一個small tutorial,可能它對於fastcgi的例子很有用。從GoDaddy的

+1

該論壇是在西班牙語和鏈接不再起作用。 –

+0

該論壇是在線的,但對於更高版本的Django可能會有所不同 – shakaran

0

響應已從this thread

「的FastCGI是從Python腳本爲我們的Linux主機 帳戶訪問我們不允許,不過,除了自定義的FastCGI的 處理器在我們共同的託管帳戶「。

所以我覺得你幾乎不走運。就我而言,儘管我試圖說服客戶擁有webfaction帳戶是一個好主意,因爲它支持mod_wsgi。