2013-01-08 141 views
0

我試圖在AWS EC2上託管一個django應用程序用於學習目的(在ubuntu-8.04.3上)。 我得到「It Works」消息請求http://ec2-x-x-x-x.compute-1.amazonaws.com 但我沒有得到管理頁面。下面是我遵循的步驟:在AWS EC2上設置django

urls.py:

from django.conf.urls.defaults import * 
from django.contrib import admin 

admin.autodiscover() 

urlpatterns = patterns('', 
    (r'^admin/',include('django.contrib.admin.urls')), 
) 

settings.py:

INSTALLED_APPS=(
    'django.contrib.auth', 
    'django.contrib.contenttypes' 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.admin' 
) 

mysite的配置: 位置:在/ etc/apache2的/網站 - 啓用

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName mysite.com 
    DocumentRoot /home/demo/mysite 

    Alias /static /home/demo/mysite/template/static/ 
    <Directory /home/demo/mysite/template/static> 
     Order deny,allow 
     Allow from all 
    </Directory> 

    Alias /media /home/demo/mysite/media/ 
    <Directory /home/demo/mysite/media> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    WSGIScriptAlias//home/demo/mysite/mysite.wsgi 
    <Directory /home/demo/mysite> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    ErrorLog /var/log/apache2/error.log 
    LogLevel warn 

    CustomLog /var/log/apache2/access.log combined 
</VirtualHost> 

mysite.wsgi: 位置:/首頁/演示/ mysite的/

import os, sys 

sys.path.append('home/demo/mysite') 
os.environ['DJANG0_SETTINGS_MODULE']='mysite.settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

syncdb順利。但是當請求http://ec2-x-x-x-x.compute-1.amazonaws.com/admin時,雖然它包含在INSTALLED_APPSURLS.py中,但我沒有收到管理頁面。我哪裏錯了?我收到了The requested URL /admin was not found on this server.消息。

+1

就在旁邊。如果您嘗試爲演示/學習目的設置某些內容,您可能希望使用未計劃在未來幾個月內終止使用的操作系統版本。可能想看看使用12.04。 –

+0

@MikeBrant是的。我跟着一個教程,結束了舊版本。在此之後我會嘗試最新的版本。這是我的第一步。順便說一句,任何線索我要去哪裏錯了? – Robby

+1

你是Django的404還是Apache的?聽起來像是我的Apache 404 ...你是否在本地主機上獲得同樣的東西?另外,在你的設置中一切看起來都很好,所以你可能需要重啓服務器,看看是否有所不同... – somecallitblues

回答

0

拼寫錯誤:

<VirualHost *:80> 

假設你剪切和粘貼在該代碼你或許應該運行Apache的得心應手的工具,檢查您的配置文件的錯誤,或讀取Apache的日誌文件。

+0

對不起,我沒有複製粘貼。這是一個錯字。我可以使用命令'a2ensite'啓用虛擬主機。 – Robby

+0

編輯該問題。任何其他想法? – Robby

+2

你檢查過Apache日誌文件嗎? 「It works」消息來自Apache,而不是Django,所以沒有跡象表明虛擬主機正在申請。也許你的wsgi腳本不可執行?檢查Apache的錯誤日誌文件。另外,檢查Apache的錯誤日誌文件。 – Spacedman