python - django、apache、mod_wsgi 和 python py-scrypt 不能一起工作

标签 python django apache mod-wsgi scrypt

我正在运行一个 ec2 实例来托管一些 Django 网站。这些网站由 Apache 使用 mod_wsgi 提供服务

几天以来,我一直在尝试部署我们正在开发的新网络平台,但我遇到了一个似乎无法解决的问题。出于安全原因,我们使用 scrypt 0.4保护用户的个人信息,例如密码。

在开发服务器上一切正常,但当我们部署到我们的实时服务器时,我们会收到 500 内部服务器错误。 apache 日志给我以下消息

Premature end of script headers: socialmarketingplatform.wsgi, referer:

当我取消注释使用 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 *: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>

希望有人能帮我解决这个问题。如果还有任何问题,请告诉我。

最佳答案

参见:

http://code.google.com/p/modwsgi/wiki/FrequentlyAskedQuestions#Apache_Process_Crashes

消息“脚本头过早结束”通常表示您的代码使守护进程崩溃。您可以通过在主 Apache 错误日志文件中查找段错误或类似消息来验证这一点。如果您在主 Apache 配置和 VirtualHost 中启用“LogLevel 信息”,则 mod_wsgi 将记录更多有关守护进程重启的信息。

如果仅在该守护进程组中运行应用程序,一个快速补救措施是添加:

WSGIApplicationGroup %{GLOBAL}

这将解决由损坏的 Python 第三方扩展模块引起的崩溃,这些模块没有正确编写以在子解释器中工作。

除此之外,可能是常见问题解答中描述的共享库版本不匹配。

关于python - django、apache、mod_wsgi 和 python py-scrypt 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5552095/

相关文章:

python - 为什么我没有获得附加到我的问题实例的标签实例?

apache - 目录中多个文件重命名,需要htaccess规则重定向

python - 在 Scrapy 的 csvexports 中使用附加模式导出项目时过滤重复条目

python - Django 模板/ View 与轮播的问题

python - 列表中的最后一个对象在删除后不会被删除。什么时候有效删除?

python - 如何从views.py打印Django表单数据?

jquery - 如果表单在某些文本字段上具有验证,如何防止单击按钮上的 toast 消息?

php - mod_rewrite 高效的可选参数处理

apache - com.sun.ws.rs.ext.RuntimeDelegateImpl 错误

Python 套接字 : Send/receive multiple message