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

时间:2015-10-24 17:02:50

标签: python django apache centos6

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

我已按照How To Serve Django Applications with Apache and mod_wsgi on CentOS 7.中的步骤进行操作 但是,当我使用命令service httpd start而不是systemctl start httpd启动 Apache 服务器的最后一步时,根据教程我没有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

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

5 个答案:

答案 0 :(得分:12)

通过运行

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

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

for python2

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

for python3

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

答案 1 :(得分:10)

在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

答案 2 :(得分:3)

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

在旁注中,查看最新一代的mod_wsgi,它提供了一种使用简单工具wsgi启动mod_wsgi-express个应用程序的便捷方式(无需设置httpd配置)。

答案 3 :(得分:0)

我有类似的错误

  

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

因为忘记了在路径之前写“ /

  

WSGIScriptAlias / / var / www ...

答案 4 :(得分:0)

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

我认为[1]可能会帮助您,尽管它提到使用python 2.4的CentOS 5/6(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/