无效的命令“WSGIScriptAlias”,可能拼写错误或由未包含在服务器配置中的模块定义操作“configtest”失败
Posted
技术标签:
【中文标题】无效的命令“WSGIScriptAlias”,可能拼写错误或由未包含在服务器配置中的模块定义操作“configtest”失败【英文标题】:Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configurationAction 'configtest' failed 【发布时间】:2014-01-04 19:29:36 【问题描述】:我在配置 CKAN DataPusher 时遇到以下错误。
无效命令“WSGIScriptAlias”,可能拼写错误或由 模块未包含在服务器配置操作“configtest”中 失败了。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:尝试在 Apache 中启用 wsgi mod
sudo a2enmod wsgi
如果遇到以下错误
错误:模块 mod-wsgi 不存在!
您必须安装 mod wsgi,如下所示。你要做的就是运行以下命令,
sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi
sudo service apache2 restart
【讨论】:
起初它没有用,但使用apt-get update --fix-missing
更新了软件包,然后我可以安装了。
谢谢。我必须安装 libapache2-mod-wsgi-py3 才能让它与 python3 一起工作【参考方案2】:
要在 httpd 中启用 wsgi_mod,请安装模块
sudo yum install mod_wsgi
并确保将模块加载到 httpd 配置文件中
sudo nano /etc/httpd/conf/httpd.conf
然后在配置文件中将以下行添加到其他已加载模块的列表中:
LoadModule wsgi_module modules/mod_wsgi.so
【讨论】:
我使用的是windows操作系统,如何解决这个问题? 对不起朋友,我帮不了你。我希望其他人会发布您的问题的答案。祝你好运!【参考方案3】:我遇到这个问题是因为
我安装了与python3.5兼容的mod_wsgi,但是我的项目的虚拟环境使用的是python3.7。因此,需要 3.7 的 mod_wsgi。我也安装了它(python3.7 -m pip install mod_wsgi)。但是 apache2 中缺少配置导致此问题。
运行:mod_wsgi-express 模块配置 在 /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
这解决了问题。
【讨论】:
【参考方案4】:在弄乱我的 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 能够再次找到它。
【讨论】:
【参考方案5】:我认为您可能需要在 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
【讨论】:
以上是关于无效的命令“WSGIScriptAlias”,可能拼写错误或由未包含在服务器配置中的模块定义操作“configtest”失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 Django/Django.js 和 WSGIScriptAlias 进行 URL 反向
Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not inc
Apache 2 + mod_wsgi + WSGIScriptAlias
WSGIScriptAlias 为 /PREFIX 时的 Django localeURL