无效命令 WSGIDaemonProcess 在 CentOS 6.7 上部署 Django 应用程序

问题描述 投票:0回答:7

我在 CentOS 6.7 上使用 Django 1.8 以及 Apache 服务器版本:Apache/2.2.15 (Unix)。

我已按照如何在 CentOS 7 上使用 Apache 和 mod_wsgi 服务 Django 应用程序中的步骤进行操作。 但在最后一步,当我使用命令启动Apache服务器时:

service httpd start
而不是
systemctl start httpd
,因为根据教程我有Centos 6.7而不是CentOS 7。

出现以下错误:

Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/django.conf:
Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module ot included in the server configuration

你可以在这里检查 django.conf:

Alias /static /home/ftpispy/ispy/static
<Directory /home/ftpispy/ispy/static>
    Require all granted
</Directory>
<Directory /home/ftpispy/ispy/ispy>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>
WSGIDaemonProcess ispy python-path=/home/ftpispy/ispy:/home/ftpispy/ispy/venv/lib/python2.7/site-packages
WSGIProcessGroup ispy
WSGIScriptAlias / /home/ftpispy/ispy/ispy/wsgi.py

提前致谢。请建议在 CentOS 6.7djnago 1.8 上部署的任何其他选项。

python django apache centos6
7个回答
55
投票

通过运行

确保安装了 wsgi 软件包
sudo a2enmod wsgi

如果未安装,请执行以下命令进行安装

对于python2

sudo apt-get install python-pip apache2 libapache2-mod-wsgi

对于 python3

sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3

18
投票

2020 年今天安装

mod_wsgi
的正确方法(来源:https://github.com/GrahamDumpleton/mod_wsgi/issues/233

我。卸载

libapache2-mod-wsgi

sudo apt-get remove libapache2-mod-wsgi

sudo apt-get remove libapache2-mod-wsgi-py3

II. 使用pip安装

mod_wsgi

pip install mod_wsgi

如果已安装,请更新:

pip uninstall mod_wsgi
pip install mod_wsgi

III. 之后,

mod_wsgi-express
命令必须可用。与

一起使用
mod_wsgi-express module-config

IV. 获取其输出,这是您需要告诉 Apache 在哪里可以找到您的新

mod_wsgi
版本的内容。
V. 更新
wsgi.load
文件

sudo nano /etc/apache2/mods-available/wsgi.load

删除

wsgi.load
的所有行以及过去 IV

的输出

VI. 确保启用

mod_wsgi

sudo a2enmod wsgi

VII. 重新启动 apache 服务

systemctl reload apache2

6
投票

应为

mod_wsgi
启用
Apache
模块。确保您在
/etc/apache2/mods-enabled/
中设置了指向
wsgi.conf
wsgi.load
中的
/etc/apache2/mods-available/
的符号链接。

顺便说一句,请查看最新一代的

mod_wsgi
,它提供了一种使用简单工具
wsgi
启动
mod_wsgi-express
应用程序的便捷方法(无需设置
httpd
配置的麻烦)。


3
投票

我也有同样的问题。实际上我没有在httpd.conf文件中加载mod_wsgi模块。花了很多时间后我通过添加解决了

LoadModule wsgi_module modules/mod_wsgi.so

进入 httpd.conf 文件。然后就不再有错误了。


1
投票

我也有类似的错误

命令“WSGIDeamonProcess”无效,可能拼写错误或由 服务器配置中未包含的模块

因为忘记在路径前写“/

WSGIScriptAlias / /var/www...


1
投票

确保 CentOS 中安装了正确版本的 mod_wsgi。 yum repo 附带的 mod_wsgi 是基于 (iirc) python 2.6 编译的。 您需要使用 python 2.7 编译 mod_wsgi。

我认为 [1] 可能会对你有所帮助,尽管它提到 CentOS 5/6 使用 python 2.4(CentOS 6.7 使用 python 2.6 作为基础)。

[1] - https://blog.webhostpython.com/2015/01/12/how-to-install-python-2-7-with-mod_wsgi-on-a-centos-6-vps-or-带 cpanel 的服务器/


0
投票

接受的答案不能应用于CentOS;它适用于基于 Ubuntu / Debian 的 Linux。对于 CentOS / RHEL,您应该通过以下方式安装

mod_wsgi

sudo yum install python3-mod_wsgi

模块将自动加载,无需在

LoadModule
中显式指定
httpd.conf

© www.soinside.com 2019 - 2024. All rights reserved.