【发布时间】:2013-01-08 05:12:25
【问题描述】:
我正在尝试在 AWS EC2 上托管一个 django 应用程序以用于学习目的(在 ubuntu-8.04.3 上)。
我在请求 http://ec2-x-x-x-x.compute-1.amazonaws.com 时收到“It Works”消息
但我没有得到管理页面。以下是我遵循的步骤:
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'
)
我的网站配置: 位置:/etc/apache2/sites-enabled
<VirtualHost *:80>
ServerAdmin admin@mysite.com
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: 位置:/home/demo/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_APPS 和URLS.py 中。我哪里错了?我收到了The requested URL /admin was not found on this server. 消息。
【问题讨论】:
-
顺便说一句。如果您尝试为演示/学习目的设置一些东西,您可能希望使用未计划在未来几个月内终止使用的操作系统版本。可能想看看使用 12.04。
-
@MikeBrant 是的。我遵循了一个教程并最终使用了旧版本。在此之后我肯定会尝试最新版本。这是我的第一步。 :) 顺便说一句,我哪里出错了有什么线索吗?
-
你得到的是 Django 的 404 还是 Apache 的?听起来像是 Apache 404 对我来说......你在本地主机上得到同样的东西吗?此外,您的设置似乎一切正常,因此您可能需要重新启动服务器,看看是否有不同...
-
@MarioGudelj 这是 Apache 的 404。不是 Django 的。重启后也没有变化。看起来 django 没有被 Apache 检测到。
标签: django amazon-ec2