Solución:
He resuelto esto
en mi línea de comando original no incluía la ruta completa al archivo wsgi.py para ejecutar uWSGI
uwsgi --http :8000 --chdir /srv/www/databankinfo.com/projectdatabank/ --wsgi-file wsgi.py
a esto
uwsgi --http :8000 --chdir /srv/www/databankinfo.com/projectdatabank/ --wsgi-file full/path/wsgi.py
Y funcionó
Para otros que depuran este mismo error, existe otra posibilidad: su uwsgi.py
. Para probar esto, abra un shell de django en su aplicación directamente con python manage.py shell
e importa tu uwsgi.py
(use el mismo camino que en su uwsgi.ini
).
Consulte mi publicación de blog sobre la implementación de Django detrás de uwsgi http://blog.johannesklug.de/2012/11/27/deploying-django-behind-nginx-with-uwsgi-and-virtualenv/. Creé un archivo ini para configurar uwsgi, que apunta a la aplicación invocable con el parámetro module=project.wsgi:application
.
Todo el archivo dice algo como esto:
(env)[[email protected] ~]$ 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
Tenga en cuenta que estoy usando virtualenv.
Es posible que también te falten las líneas
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
en tu wsgi.py