Я использую экземпляр ec2 для размещения некоторых веб-сайтов Django. Веб-сайты обслуживаются Apache с использованием mod_wsgi
Уже несколько дней я пытаюсь развернуть новую веб-платформу, которую мы разрабатываем, но я сталкиваюсь с проблемой, которую я не могу решить. В целях безопасности мы используем scrypt 0.4 для защиты личных данных пользователей, таких как пароли.
На сервере разработки все работает как чудо, но при развертывании на нашем действующем сервере мы получаем ошибку 500 Internal Server. Журнал apache выдает мне следующее сообщение
Преждевременный конец заголовков скриптов: socialmarketingplatform.wsgi, реферер:
Когда я раскомментирую строку, где используется модуль scrypt, все работает нормально. Также, когда я запускаю сервер, поставляемый с Django с включенным scrypt, все работает на живом сервере. Так что это комбинация mod_wsgi, django и scrypt, которая генерирует ошибку.
Я использую следующий файл wsgi:
import os
import sys
path = '/var/www/vhosts/[sub_domain]'
if path not in sys.path:
sys.path.append(path)
sys.path.append(path + '/socialmarketingplatform')
os.environ['DJANGO_SETTINGS_MODULE'] = 'socialmarketingplatform.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
И следующий конфиг virtualhost:
<VirtualHost *:80>
#Basic setup
ServerAdmin [removed email]
ServerName luxdevelopment.net
ServerAlias [sub domain]
DocumentRoot /var/www/vhosts/[sub domain]/socialmarketingplatform/
Alias /media/admin /usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/contrib/admin/media
Alias /media /var/www/vhosts/[sub domain]/socialmarketingplatform/media
<Location media="">
SetHandler None
</Location>
LogLevel warn
ErrorLog /var/log/httpd/smp_error.log
CustomLog /var/log/httpd/smp_access.log combined
WSGIDaemonProcess luxdevelopment.net user=apache group=apache threads=25
WSGIProcessGroup luxdevelopment.net
WSGIScriptAlias / /var/www/cgi-bin/socialmarketingplatform.wsgi
</VirtualHost>
Я надеюсь, что кто-то может помочь мне с этой проблемой. Если есть еще вопросы, дайте мне знать.