/ / Come eseguire l'app Django con il server Web Gunicorn / WSGI? - Django, wsgi, gunicorn, django-cache-machine

Come eseguire l'app Django con il server web Gunicorn / WSGI? - Django, wsgi, gunicorn, django-cache-machine

Ho la mia applicazione Django esistente in esecuzione sul mio MacBook. La struttura della directory è simile a questa:

myproject/
mySite/
__init__.py
settings.py
urls.py
wsgi.py
myApp1/
__init__.py
models.py
views.py
manage.py
requirements.txt

Fino ad ora, ho utilizzato il webserver di giocattoli Django per eseguire la mia app: ./manage.py runserver 0.0.0.0:8000. Ma ora voglio usare Gunicorn invece. Quindi seguo le istruzioni Qui.

lo voglio source myVirtualenv/bin/activate && cd myproject && gunicorn mySite.wsgi. Ottengo il seguente errore:

  File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "myproject/MyApp2/models.py", line 11, in <module>
from caching.base import CachingManager, CachingMixin
ImportError: No module named caching.base

Quando corro ./manage.py runserver 0.0.0.0:8000 dalla stessa posizione funziona perfettamente bene.

Perché? Sto facendo qualcosa di sbagliato? Django-Cache-Machine non funziona con Gunicorn / WSGI? Come aggirare questo problema?

risposte:

1 per risposta № 1

Sembra che tu abbia installato Gunicorn globalmentepiuttosto che all'interno di virtualenv, quindi l'eseguibile punta al Python globale e alla sua directory dei pacchetti di siti piuttosto che a quella di virtualenv. Reinstallare localmente il gunicorn.


2 per risposta № 2

Per eseguire il tuo progetto usando gunicorn, prova quanto segue:

  1. attiva il tuo virtualenv
  2. vai alla directory del tuo progetto
  3. correre gunicorn mySite.wsgi:application --bind 127.0.0.1:8000

Se i comandi funzionano bene, allora il mio è impostato. Altrimenti, prova il seguente tutorial. Io uso sempre questo tutorial da solo, quando imposto un nuovo progetto per la produzione. Provalo. Impostare Django con Nginx, Gunicorn e Supervisor