Kann jemand den Unterschied zwischen Apache mod_wsgi im Daemon-Modus erklären und fastcgi in Gewinde Modus django. Beide benutzen Threads für Parallelität, denke ich. der Annahme, dass ich nginx als Front-End für Apache mod_wsgi bin mit.Bereitstellen von Django (fastcgi, Apache mod_wsgi, uwsgi, gunicorn)
UPDATE:
I django in fastcgi (./ manage.py method = Gewinde maxchildren = 15) und in mod_wsgi 'Daemon' -Modus (WSGIDaemonProcess Beispiel threads = 15) aufgebaut bin zu vergleichen. Sie benutzen beide Threads und erwerben GIL, habe ich recht?
UPDATAE 2:
Also, wenn sie beide ähnlich sind, gibt es irgendwelche Vorteile von Apache mod_wsgi gegen fastcgi. Ich sehe solche Profis von fastcgi:
- wir nicht brauchen, Apache
- wir weniger RAM verbrauchen
- Ich bemerkte, dass fastcgi hat weniger Overhead
UPDATAE 3:
ich bin jetzt glücklich mit nginx + uwsgi.
UPDATAE 4:
Ich bin jetzt glücklich mit nginx + gunicorn :)
ich django in fastcgi gebaut Vergleichen (./ verwalten.py method = threaded maxchildren = 15) und mod_wsgi im 'daemon' Modus (WSGIDaemonProcess Beispiel threads = 15). –
Ja, beide verwenden Multithreading, um gleichzeitige Anfragen zu bearbeiten. Die GIL wird auch dann verwendet, wenn ein WSGI-Server mit einem einzelnen Thread nicht ohne weiteres vermieden werden kann, ohne den Python-Quellcode neu zu kompilieren und die Threading-Unterstützung zu deaktivieren. Tun Sie das aber, und Sie können mod_wsgi nicht verwenden, da es Python nicht unterstützt, bei dem das Threading deaktiviert ist. –
Was meinst du "die GIL wird verwendet, auch wenn ein Single-Thread-WSGI-Server"? Wird es verwendet, wenn wir mod_wsgi so konfigurieren, dass Prozesse statt Threads forciert werden? –