我在Redhat服务器中使用mod_wsgi 2.0和apache 2.2.3配置了Django 1.4。 但是当我尝试访问服务器时,我收到以下错误: “错误500:内部服务器错误。”
[root@lts5srv1 hardi]# wget mritest.domain.ch
--2012-08-23 21:51:27-- http://mritest.domain.ch/
Resolving mritest.domain.ch... 127.0.0.1
Connecting to mritest.domain.ch|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2012-08-23 21:51:27 ERROR 500: Internal Server Error.
所以我有连接,但我没有得到任何有效的回复。 它是否取决于django版本,我应该使用Django 1.3进行部署吗?
修改
Apache错误日志:
[Thu Aug 23 22:34:04 2012] [error] [client 127.0.0.1] mod_wsgi (pid=7835): Exception occurred processing WSGI script '/home/django_www/hello/apache/django.wsgi'.
[Thu Aug 23 22:34:04 2012] [error] Traceback (most recent call last):
[Thu Aug 23 22:34:04 2012] [error] File "/home/django_www/hello/apache/django.wsgi", line 1, in <module> [Thu Aug 23 22:34:04 2012] [error] import os
[Thu Aug 23 22:34:04 2012] [error] ImportError: No module named os"
答案 0 :(得分:2)
mod_wsgi.so是针对特定的Python版本编译的。如果您没有安装该版本,或者强制它使用不同的Python版本,则可能会出现此问题,这是无法完成的。
找出为其编译的Python mod_wsgi.so版本。
http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Shared_Library http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Installation_In_Use
首先要做的是找出编译mod_wsgi.so的内容。
答案 1 :(得分:0)
Web服务器没有文件描述符。使用httpd initscript中的ulimit -n
来增加允许的文件描述符数。