Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invalid command WSGIDaemonProcess Deploy Django application on CentOS 6.7

I am using Django 1.8 on CentOS 6.7 with Apache Server version: Apache/2.2.15 (Unix).

I have followed the steps in How To Serve Django Applications with Apache and mod_wsgi on CentOS 7. But at last step when I start the Apache server with command : service httpd start instead of systemctl start httpd beacuse I have Centos 6.7 not CentOS 7 according to tutorial.

It is giving the following error:

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

you can check the django.conf here:

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

Thanks in advance.Please suggest any other option to deploy on CentOS 6.7 with djnago 1.8.

like image 527
Himanshu dua Avatar asked Oct 24 '15 17:10

Himanshu dua


4 Answers

make sure you have wsgi package installed, by running

sudo a2enmod wsgi

if its not installed, execute below commands to install

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
like image 66
sha12 Avatar answered Nov 10 '22 11:11

sha12


Right way to install mod_wsgi today in 2020 (source: https://github.com/GrahamDumpleton/mod_wsgi/issues/233)

I. Uninstall libapache2-mod-wsgi

sudo apt-get remove libapache2-mod-wsgi

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

II. Use pip to install mod_wsgi

pip install mod_wsgi

If it is already installed, update it:

pip uninstall mod_wsgi
pip install mod_wsgi

III. After that, mod_wsgi-express command must be available. Use it with

mod_wsgi-express module-config

IV. Grab its output, this is what you need to tell Apache where to find your new mod_wsgi version.
V. Update wsgi.load file

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

remove any lines of wsgi.load And past the output from IV

VI. Ensure mod_wsgi is enabled:

sudo a2enmod wsgi

VII. Restart your apache service

systemctl reload apache2
like image 41
snoob dogg Avatar answered Nov 10 '22 09:11

snoob dogg


The mod_wsgi module should be enabled for Apache. Make sure you have symlinks setup in /etc/apache2/mods-enabled/ pointing to wsgi.conf and wsgi.load in /etc/apache2/mods-available/.

On a side note, check out the latest generation of mod_wsgi, it provides a convenient way to launch wsgi applications using a simple tool mod_wsgi-express (without the hassle of setting up an httpd configuration).

like image 6
sirfz Avatar answered Nov 10 '22 11:11

sirfz


I had the same Problem. Actually I did not load the mod_wsgi module in httpd.conf file. After spending many hours I solved by adding

LoadModule wsgi_module modules/mod_wsgi.so

in to the httpd.conf file. Then there is no more error.

like image 1
Anu Alex Avatar answered Nov 10 '22 09:11

Anu Alex