使用apache部署django时遇到问题

时间:2010-11-08 10:04:54

标签: django apache deployment httpd.conf

您好Django尝试使用apache在服务器上部署它时遇到问题。出于某种原因,我在httpd.conf文件中写入此信息。

<location "/mysite">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonOption django.root /mysite
    PythonDebug off
    PythonPath "['/user/local/src/djcode','/user/local/src/djcode/mysite'] + sys.path"
</Location>

重启apache时出现此错误。

Syntax error on line 3 of /etc/apache2/httpd.conf:
Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

这个错误几乎是自我解释的(第二行对你很重要):

Invalid command 'PythonHandler', perhaps misspelled 
or defined by a module not included in the server configuration

PythonHandler是apache未知的命令。它是mod_python所知的“模块命令”。所以如果错过了它就说无效命令(由模块定义的OR不在...中)。

所以确保安装了mod_python。

无论如何你可能知道它,但只需按照这个文件http://docs.djangoproject.com/en/dev/howto/deployment/modpython/

答案 1 :(得分:1)

另外,我建议您使用mod_wsgi而不是mod_python。请参阅本页顶部的弃用警告:http://docs.djangoproject.com/en/1.2/howto/deployment/modpython/

  

支持mod_python   在将来的版本中弃用   Django的。如果您正在配置新的   部署,你是强烈的   鼓励考虑使用mod_wsgi   或任何其他支持   后端。

答案 2 :(得分:1)

python_mod未在httpd.conf中安装或未配置。 如果您已安装它,请在httpd.conf

中添加以下行
LoadModule python_module modules/mod_python.so