2013-01-08 102 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