为什么我得到错误的无效命令“ PythonHandler”?


8

我正在尝试部署Django应用程序,但遇到了麻烦。到目前为止,在Debian(最新)上,我已经运行了以下命令:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-python python-django

我尝试过在Apache 2的配置文件中手动添加模块,但是老实说我完全迷失了。它与我几年前使用的Apache版本1完全不同。

Syntax error on line 7 of /etc/apache2/sites-enabled/000-default:
Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration

sites-available/default在标签之间的文件中添加了以下内容。

    <Location "/">
              SetHandler python-program
              PythonHandler django.core.handlers.modpython
              SetEnv DJANGO_SETTINGS_MODULE hellodjango1.settings
              PythonDebug Off
    </Location>

这是我到目前为止使用的教程,运气不好:

Answers:


5

您是否在启用了mods的情况下启用了mod_python.load?您可以通过在mods-available中创建到同一文件的软链接来做到这一点。


txwikinger,谢谢你的提示-我不得不手动创建.load文件。这很奇怪,因为我认为它已经存在了。
尼克·博尔顿



0

看起来我不得不手动创建python.load文件,很奇怪。无论如何,这两个命令修复了它:

echo "LoadModule python_module /usr/lib/apache2/modules/mod_python.so" > /etc/apache2/mods-available/python.load
ln -s ../mods-available/python.load etc/apache2/mods-enabled/python.load

嗯,不好意思。也许我会复习哪个答案最适合这个问题。
尼克·博尔顿

缺少斜杠:etc / apache2 / mods-enabled / python.load
Petr

0

如果您使用的是Gentoo,请在/etc/conf.d/apache2中定义-D PYTHON

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.