0

我最近有一个网站运行了好几个月,突然间它决定无缘无故地放弃自己。

我正在运行 django + mod_python + apache,系统决定是时候开始忽略 pycurl 库的导入了,我最初的想法是库以某种方式损坏,或者路径未被 apache 或 mod_python 缓存。

检查路径、符号链接、权限并重新安装 pycurl 的确切版本后,我仍然收到相同的错误。奇怪的是,我可以在 python 本身中加载库并运行测试没有问题,但不能在 mod_python 中。我知道这些路径是正确指向的,因为我已经多次检查它们并相应地更新了系统缓存。

Django 现在不会加载或抛出任何错误,如果我尝试导入库,apache 也不会记录任何内容,它只会默默地失败……我已经探索这个问题 2 天了,但没有提出任何建议。

任何帮助将不胜感激。

只是在这里添加一些,自从最终修订和启动以来,服务器没有受到任何影响。

我检查了每一个表明对服务器进行某种类型攻击的日志,但什么也没有,唯一存在的是来自我的托管服务提供商的请求,这是有问题的错误首先开始出现的地方。

还有类似的问题:stackoverflow.com/questions/1099981/... - 在这种情况下不起作用。

万一有人想知道版本如下

Python         2.4.3
Mod_Python     3.2.8
Apache         2.2.3
Redhat         Red Hat Enterprise Linux Server release 5.4
Linux Kernal   2.6.18-128.7.1.el5 x86_64
4

3 回答 3

1

如果问题是在 Apache 下运行时导入失败,但从登录 shell 运行时导入正常,请仔细检查失败模块是否存在目录/文件权限问题。它们必须是可读取的,并且在某些情况下还可以从运行 Apache 的用户 ID 执行访问。

于 2010-01-19T22:09:53.423 回答
0

httpd 进程可能正在运行到打开文件限制;在 bash 中查看help ulimit要更改的相关选项。

于 2010-01-19T19:59:15.953 回答
0

现在好了......我已经调试了这个问题......答案非常令人惊讶。

R**kspace 决定对盒子进行一些更新,更新有问题的依赖库并导致问题......重新安装库后,它会尝试加载 c 模块,它不是当前的 comp 版本pycurl ...他们自己两天都想不通。

于 2010-01-20T00:37:43.083 回答