Reputation: 2513
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.
Upvotes: 39
Views: 43878
Reputation: 54260
The accepted answer cannot be applied to CentOS; it's for Ubuntu / Debian-based Linux. For CentOS / RHEL, you should install mod_wsgi
via:
sudo yum install python3-mod_wsgi
The module will be loaded automatically, without the need to explicitly specify LoadModule
in the httpd.conf
.
Upvotes: 0
Reputation: 240
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.
Upvotes: 3
Reputation: 2875
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
Upvotes: 18
Reputation: 2425
Ensure that the correct version of mod_wsgi is installed in CentOS. The mod_wsgi that comes with the yum repo is compiled based on (iirc) python 2.6. You need mod_wsgi compiled using python 2.7.
I think [1] might help you with it, though it mentions CentOS 5/6 using python 2.4 (CentOS 6.7 uses python 2.6 as the basis).
Upvotes: 1
Reputation: 1499
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...
Upvotes: 1
Reputation: 1687
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
Upvotes: 56
Reputation: 4277
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).
Upvotes: 6