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

Nic*_*ton 8 debian mod-python django apache-2.2

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

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-python python-django
Run Code Online (Sandbox Code Playgroud)

我已经尝试在 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
Run Code Online (Sandbox Code Playgroud)

我已将以下内容添加到我的sites-available/default文件中的标签之间。

    <Location "/">
              SetHandler python-program
              PythonHandler django.core.handlers.modpython
              SetEnv DJANGO_SETTINGS_MODULE hellodjango1.settings
              PythonDebug Off
    </Location>
Run Code Online (Sandbox Code Playgroud)

以下是我到目前为止使用过的教程,但运气不佳:

txw*_*ger 5

你在 mods-enabled 中启用了 mod_python.load 吗?您可以通过在 mods-available 中创建指向同一文件的软链接来完成此操作。


lla*_*aro 5

更简单的方法

蟒蛇


Nic*_*ton 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
Run Code Online (Sandbox Code Playgroud)