[Django]-Internal Server Error with Django and uWSGI

53๐Ÿ‘

โœ…

I have solved this

in my original command line did not include full path to the wsgi.py file to run uWSGI

uwsgi --http :8000 --chdir /srv/www/databankinfo.com/projectdatabank/ --wsgi-file wsgi.py

to this

uwsgi --http :8000 --chdir /srv/www/databankinfo.com/projectdatabank/ --wsgi-file full/path/wsgi.py

and it worked

๐Ÿ‘คtareq

50๐Ÿ‘

For others debugging this same error, there is another possibility: an exception is being thrown by your uwsgi.py. To test this, open a django shell in your app directly with python manage.py shell and import your uwsgi.py (use the same path as in your uwsgi.ini).

๐Ÿ‘คFraser Harris

14๐Ÿ‘

Check out my blog post on deploying Django behind uwsgi http://blog.johannesklug.de/2012/11/27/deploying-django-behind-nginx-with-uwsgi-and-virtualenv/. I created an ini-File to setup uwsgi, which points to the app callable with the parameter module=project.wsgi:application.

The whole file reads something like this:

(env)[project@host ~]$ cat uwsgi.ini 
[uwsgi]
# path to where you put your project code
chdir=/home/project/project
 
# python path to the wsgi module, check if you have one
module=project.wsgi:application
 
# this switch tells uwsgi to spawn a master process,
# that will dynamically spawn new child processes for
# server requests
master=True
# uwsgi stores the pid of your master process here
pidfile=/home/project/master.pid
vacuum=True
# path to your virtual environment
home=/home/project/env/
# path to log file
daemonize=/home/project/log
# this is where you need to point nginx to,
# if you chose to put this in project home make
# sure the home dir is readable and executable by
# nginx
socket=/tmp/uwsgi.sock
 
### SEE UPDATE NOTICE FOR THIS ONE
env = DJANGO_SETTINGS_MODULE=project.settings

Please note that Iโ€™m using virtualenv.

You might also be missing the lines

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

in your wsgi.py

๐Ÿ‘คroom2web

0๐Ÿ‘

Check if u deleted any init.py file from the Djano apps. As django uses them to know which folders are apps, so they are kind of important.

๐Ÿ‘คIbrahim Tayseer

0๐Ÿ‘

I got this error because my /etc/uwsgi/vassals/ ini file for the site I was running had the word โ€œmoduleโ€ misspelled as โ€œmodeuleโ€. Check that file carefully if you see htis ereror.

๐Ÿ‘คJohnny Wales

0๐Ÿ‘

In uwsgi.ini

Make sure you have set the right module.

[uwsgi]
module = yourapp.wsgi:application
...
๐Ÿ‘คLane

Leave a comment