您好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.
有什么想法吗?
答案 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