Я впервые пытаюсь настроить веб-сервер с помощью Django. Я бился головой об стену, пытаясь настроить это некоторое время, и, похоже, я не могу найти никаких ресурсов, которые объясняют это в пошаговом формате для новичков.
Я установил и настроил apache и mod_wsgi на своем экземпляре EC2. Как сопоставить URL-адреса моего приложения в файле urls.py с apache? Локально я могу заставить мое приложение работать при вводе 127.0.0.1:8000/flickr/photousers
запустив его на сервере разработки Django. Я пытаюсь заставить это работать на моих общедоступных DNS как http://ec2-122-248-194-176.ap-southeast-1.compute.amazonaws.com/flickr/photouser
с apache и mod_wsgi.
Когда я перезапускаю свой сервер Apache, я также получаю эту ошибку, но со статусом ОК [error] (EAI 2)Name or service not known: Could not resolve host name *.80 -- ignoring
Ниже перечислены соответствующие фрагменты
файл django.wsgi
import os,sys
apache_configuration = os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path.append(/home/djangotest/flickr)
#sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'flickr.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
файл httpd.conf
<VirtualHost *.80>
DocumentRoot /home/djangotest/flickr
ServerName ec2-122-248-194-176.ap-southeast-1.compute.amazonaws.com
ErrorLog /home/djangotest/flickr/logs/apache_error.log
CustomLog /home/djangotest/flickr/logs/apache_access.log combined
WSGIScriptAlias / /home/djangotest/flickr/apache/django.wsgi
<Directory /home/djangotest/flickr/media>
Order deny,allow
Allow from all
</Directory>
<Directory /home/djangotest/flickr/apache>
Order deny,allow
Allow from all
</Directory>
LogLevel warn
WSGIDaemonProcess ec2-122-248-194-176.ap-southeast-1.compute.amazonaws.com user=djangotest processes=2 threads=25
WSGIProcessGroup ec2-122-248-194-176.ap-southeast-1.compute.amazonaws.com
Alias /media/ /home/djangotest/flickr/media/
</VirtualHost>
urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# Example:
(r'flickr/', include('flickrphotobrowser.urls')),
)
urls.py (находится в моем приложении)
from django.conf.urls.defaults import *
from flickrphotobrowser.views import *
urlpatterns = patterns('flickrphotobrowser.views',
(r'^phototags/$', contenttags),
(r'^photouser/$', contentuser),
)
settings.py
ROOT_URLCONF = 'flickr.urls'
TEMPLATE_DIRS = (
os.path.join(os.path.basename(__file__), 'templates'),
#'home/nai/Projects/flickr/flickrphotobrowser/templates', # THIS IS FOR LOCAL ONLY
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'flickr.flickrphotobrowser',
)
Должен ли я включать какие-либо другие фрагменты кода, чтобы помочь в устранении проблемы? Спасибо.
В httpd conf измените:
<VirtualHost *.80>
к
<VirtualHost *:80>
и перезапустите Apache.
Если это не поможет, вы также можете попробовать добавить:
sys.path.append('/home/djangotest')
в ваш файл django.wsgi.