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

Invalid command WSGIDaemonProcess Deploy Django application on CentOS 6.7

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

我已按照 How To Serve Django Applications with Apache and mod_wsgi on CentOS 7. 中的步骤操作 但是在最后一步,当我使用命令启动 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

感谢 advance.Please 建议使用 djnago 1.8.

CentOS 6.7 上部署任何其他选项

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

附带说明一下,查看最新一代的 mod_wsgi,它提供了一种使用简单工具 mod_wsgi-express 启动 wsgi 应用程序的便捷方式(无需设置的麻烦设置 httpd 配置)。

确保你安装了 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

我有一个类似的错误

Invalid command 'WSGIDeamonProcess', perhaps misspelled or defined by a module not included in the server configuration

因为忘记在路径前写“/

WSGIScriptAlias / /var/www...

2020 年今天安装 mod_wsgi 的正确方法(来源:https://github.com/GrahamDumpleton/mod_wsgi/issues/233

I.卸载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

确保在 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-server-with-cpanel/

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

解决了
LoadModule wsgi_module modules/mod_wsgi.so

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