sto distribuzione di un progetto Django su apache2 utilizzando mod_wsgi, ma il problema è che il server non servono pagine e si blocca per 10 minuti prima di dare un errore:Django + mod_wsgi + apache2: assistente appende
End of script output before headers
Questo è il mio site-available/000-default.conf
:
ServerAdmin [email protected]
DocumentRoot /home/artfact/arTfact_webSite/
Alias /static /home/artfact/arTfact_webSite/static
<Directory /home/artfact/arTfact_webSite/static>
Order allow,deny
Allow from all
Require all granted
</Directory>
<Directory /home/artfact/arTfact_webSite>
Order allow,deny
Allow from all
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess artfact_site processes=5 threads=25 python-path=/home/artfact/anaconda/lib/python2.7/site-packages/:/home/artfact/arTfact_webSite
WSGIProcessGroup artfact_site
WSGIScriptAlias//home/artfact/arTfact_webSite/arTfact_webSite/wsgi.py
settings.py
"""
Django settings for arTfact_webSite project.
Generated by 'django-admin startproject' using Django 1.8.5.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.8/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = xxxx
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'website',
'blog',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'arTfact_webSite.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'arTfact_webSite.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Europe/Paris'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
wsgi.py
"""
WSGI config for arTfact_webSite project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "arTfact_webSite.settings")
application = get_wsgi_application()
Struttura del progetto
arTfact_webSite/
├── arTfact_webSite
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── blog
├── static
├── media
└── website
├── admin.py
├── admin.pyc
├── forms.py
├── forms.pyc
├── general_analyser.py
├── general_analyser.pyc
├── __init__.py
├── __init__.pyc
├── migrations
│ ├── __init__.py
│ └── __init__.pyc
├── models.py
├── models.pyc
├── send_mail.py
├── send_mail.pyc
├── static
│ └── website
├── templates
│ └── website
├── tests.py
├── tests.pyc
├── urls.py
├── urls.pyc
├── views.py
└── views.pyc
Nel arTfact_webSite/urls.py
urlpatterns = [
url(r'^/*', include('website.urls')),
]+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Nel sito/urls.py
urlpatterns = [
url(r'^$', views.index, name='index'),
]
Sto facendo qualcosa di sbagliato qui?
'Fine di output dello script errore prima delle intestazioni indica che l'app si arresta in modo anomalo prima di inviare qualsiasi risposta. Prova il seguente test. Arresta apache, passa a/home/artfact/arTfact_webSite/arTfact_webSite e prova a eseguire il comando 'python manage.py runserver'.Dovrebbe avviare un server di sviluppo, ma è probabile che vi darà un errore di qualche tipo, indicando cosa sta andando male. –