无效命令 'WSGIScriptAlias',可能拼写错误或由未包含在服务器配置中的模块定义。操作 'configtest' 失败。

53
在配置 CKAN DataPusher 时,我遇到了以下错误:

Invalid command 'WSGIScriptAlias',可能是拼写错误或由于未包含在服务器配置中的模块定义而导致的“configtest”操作失败。

请问如何解决这个问题?
5个回答

105

尝试在Apache中启用wsgi模块

sudo a2enmod wsgi

如果您遇到以下错误

ERROR: Module mod-wsgi does not exist!

您需要按照以下步骤安装mod wsgi。您需要运行以下命令:

sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi
sudo service apache2 restart

1
起初它没有起作用,但是使用 apt-get update --fix-missing 命令更新了软件包,然后我就能安装了。 - Alex Stewart
3
谢谢您。为了让此功能与Python3正常运行,我需要安装libapache2-mod-wsgi-py3。 - Dan Walters

7

要在httpd中启用wsgi_mod,请安装该模块。

sudo yum install mod_wsgi

确保在httpd配置文件中加载模块

sudo nano /etc/httpd/conf/httpd.conf

然后在配置文件中添加以下行,加入其他已加载模块的列表:

LoadModule wsgi_module modules/mod_wsgi.so

我正在使用Windows操作系统,我该如何解决这个问题? - Deshani Tharaka
1
抱歉,朋友,我无法帮助你。希望其他人能够回答你的问题。祝你好运! - Samer

5

我在搞砸了Apache安装并在apt purge apache2后重新启动设置时遇到了这个错误。这似乎还删除了wsgi模块,但Ubuntu 20 LTS仍然认为它存在。

所以我不得不从头开始清除并重新安装wsgi模块:

apt purge -y libapache2-mod-wsgi-py3
apt install -y libapache2-mod-wsgi-py3
a2enmod wsgi

此后,Apache 又能够找到它了。


2
我遇到这个问题是因为:
  1. 我安装了与Python3.5兼容的mod_wsgi,但我的项目虚拟环境使用的是Python3.7。所以需要使用适用于Python3.7的mod_wsgi。我也安装了它(python3.7 -m pip install mod_wsgi)。但是Apache2缺少一个配置,导致了这个问题。

  2. 运行:mod_wsgi-express module-config
    将输出添加到/etc/apache2/apache.conf中。 (LoadModule wsgi_module "/home/user/.local/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so" WSGIPythonHome "/usr" )

    然后重新启动 - sudo service apache2 restart

这样就解决了问题。


0

我认为你需要在你的apache2.conf文件中添加这一行

LoadModule wsgi_module "/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

以下命令将会给你上述输出

mod_wsgi-express module-config

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接