1

我想再次使用 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

但它是这样设置的,所以它可以读写和执行。

4

2 回答 2

1

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

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

于 2011-06-08T14:37:55.473 回答
0

尝试不同的目录/tmp- 根据这个问题,它具有t权限集,这不允许用户删除不是他们自己的文件。

而且您仍然需要该WSGIPythonEggs指令。

更新:根据Graham Dumpleton 的评论,该指令仅适用于嵌入式模式,而不适用于守护程序模式。他提供了一个关于修复应用程序权限问题mod_wsgi的 wiki 链接,该链接建议在脚本模块中设置变量,而不是httpd.conf.

于 2011-06-07T12:48:46.273 回答