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.
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
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).
I had a similar error
Invalid command 'WSGIDeamonProcess', perhaps misspelled or defined by
a module not included in the server configuration
Because forgot to write "/" before path
WSGIScriptAlias / /var/www...
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