我正在运行一个 ec2 实例来托管一些 Django 网站。这些网站由 Apache 使用 mod_wsgi 提供服务
几天以来,我试图部署一个我们正在开发的新网络平台,但我遇到了一个我似乎无法解决的问题。出于安全原因,我们使用scrypt 0.4来保护用户的个人信息,例如密码。
在开发服务器上,一切都像一个魅力,但是当我们部署到我们的实时服务器时,我们得到一个 500 Internal Server 错误。apache日志给了我以下消息
脚本头过早结束:socialmarketingplatform.wsgi,referer:
当我取消注释使用 scrypt 模块的行时,一切正常。此外,当我运行启用了 scrypt 的 Django 交付的服务器时,一切都在实时服务器上运行。所以产生错误的是 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 *: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>
我希望有人可以帮助我解决这个问题。如果有任何进一步的问题,请告诉我。