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
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
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 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With