我想再次使用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
但它设置为可以读取写入&执行。
答案 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
。