部署mod_wsgi:加载MySQLdb模块时出错

时间:2011-06-07 11:37:12

标签: django mod-wsgi httpd.conf mysql-python

我想再次使用apache + mod_wsgi部署我的django应用程序。我似乎得到这个错误500消息最初,我被告知我需要最新版本的MySQLdb。安装完成后,收到此错误消息。

Error loading MySQLdb module: /tmp/MySQL_python-1.2.3-py2.4-linux-i686.egg-tmp/_mysql.so: failed to map segment from shared object: Permission denied

我不确定问题是什么。我相信它可能与我在httpd.conf中编写的这一行有关。

WSGIPythonEggs /tmp

但它设置为可以读取写入&执行。

2 个答案:

答案 0 :(得分:1)

SELinux最有可能启用。这个确切的问题记录在mod_wsgi文档中。

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Secure_Variants_Of_UNIX

答案 1 :(得分:0)

尝试使用与/tmp不同的目录 - 根据this question,它具有 t 权限集,禁止用户删除不属于自己的文件。

你还需要WSGIPythonEggs指令。

更新:根据Graham Dumpleton's comment,该指令仅适用于嵌入模式,而不适用于守护进程模式。他在fixing Application Permission issues上提供了指向其wiki的链接,建议在mod_wsgi脚本模块中设置变量,而不是httpd.conf