我在配置 CKAN DataPusher 时收到以下错误。
无效的命令“WSGIScriptAlias”,可能拼写错误或由未包含在服务器配置中的模块定义操作“configtest”失败。
我怎样才能解决这个问题?
尝试在 Apache 中启用 wsgi mod
sudo a2enmod wsgi
如果您遇到以下错误
错误:模块 mod-wsgi 不存在!
您将必须安装 mod wsgi,如下所示。您需要做的是运行以下命令,
sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi
sudo service apache2 restart
要在 httpd 中启用 wsgi_mod,请安装模块
sudo yum install mod_wsgi
并确保在 httpd 配置文件中加载模块
sudo nano /etc/httpd/conf/httpd.conf
然后在配置文件中将以下行添加到其他加载模块的列表中:
LoadModule wsgi_module modules/mod_wsgi.so
我遇到了这个问题,因为
我安装了与python3.5兼容的mod_wsgi,但我项目的虚拟环境使用的是python3.7。因此,需要 3.7 的 mod_wsgi。我也安装了它(python3.7 -m pip install mod_wsgi)。但是 apache2 中缺少一个配置,导致了这个问题。
运行: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
这解决了问题。
在弄乱我的 Apache 安装并在apt purge apache2
. 这似乎也删除了 wsgi mod,但 Ubuntu 20 LTS 一直认为它仍然存在。
所以我不得不从头开始清除并重新安装 wsgi mod:
apt purge -y libapache2-mod-wsgi-py3
apt install -y libapache2-mod-wsgi-py3
a2enmod wsgi
之后,Apache 能够再次找到它。
我认为您可能需要在 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