Dernière mise à jour: Il y avait un LoadModule python_module modules/mod_python.so
en conflit avec mod_wsgi
. Supprimer ce LoadModule a tout fait fonctionner à nouveau.Pourquoi mon installation Django fournit-elle une réponse HTTP vide?
J'installe un serveur de production avec Django et suivant ainsi the Django tutorial, mais la réception d'une page blanche (ou, comme Chrome aime signaler, Error 324 (net::ERR_EMPTY_RESPONSE): Unknown error.
) quand je visite http://domain.com/mysite
.
# httpd.conf
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias /mysite /home/gibson/mysite/django.wsgi
# django.wsgi
import os
import sys
sys.path.append('/home/gibson')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
J'ai aussi essayé d'utiliser une application de test mod_wsgi très basique (que l'on trouve dans le mod_wsgi wiki), qui se comporte comme prévu:
# django.wsgi (test)
def application(environ, start_response):
status = '200 OK'
output = 'i live!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Y at-il quelque chose d'autre que je pourrais oublier? J'apprécie la perspicacité.
petite mise à jour: Pour fou rire, j'ai vérifié mon Apache error_log:
[notice] child pid 18356 exit signal Segmentation fault (11)
recherche sur Google pour ce petit bijou retourné quelques trucs sur le mécanisme de mise en cache de Django (que je ne l'utilise pas) et les conflits avec le chargement du mod_python module (que j'ai commenté dans mon httpd.conf).
Mise à jour 2: (commentaires supprimés par souci de concision)
# settings.py
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/home/gibson/mysite/sqlite3.db',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
TIME_ZONE = 'America/Chicago'
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
USE_I18N = True
USE_L10N = True
MEDIA_ROOT = ''
MEDIA_URL = ''
ADMIN_MEDIA_PREFIX = '/media/'
SECRET_KEY = '[redacted]'
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'mysite.urls'
TEMPLATE_DIRS = (
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
)
# urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',)
est votre projet appelé «mysite»? et est votre projet (le dossier 'mysite' situé dans '/ home/gibson' Et enfin, pouvez-vous coller les paramètres de base de django, urls.py et la vue que vous essayez d'afficher? La configuration de wsgi semble correcte – KillianDS
Oui, et je vais aller de l'avant et mettre à jour le post, et, pour clarifier, il n'y a actuellement aucune vue – gibson
Il n'y a pas de vue, quoi? – JAL