Ich habe einige Einführungen zu wsgi im Internet gelesen, aber sie sprachen im Wesentlichen darüber, was wsgi ist, erklärten jedoch nicht, wie wsgi konkret funktioniert.
Einfach ausgedrückt möchte ich wissen, wie Apache auf einem mit Django+Apache erstellten Webserver eine Anfrage vom Client erhält und diese an den Django-Code weiterleitet.
Läuft der Django-Code im Apache-Prozess oder verfügt er über einen eigenen Prozess und kommuniziert auf irgendeine Weise?
Wenn es im Apache-Prozess ausgeführt wird, wird der Django-Code dann jedes Mal neu geladen, wenn ein neuer Apache-Prozess erstellt wird?
其实就是个中间通信协议,正如楼上说的,用http也可以,wsgi好像效能要好一点,目前最好的是不是wsgi,我也记不清楚了,我这边用的是uwsgi.Java里面HTTPServer和应用容器之间也有类似的通信协议。两次隔离有个基本的好处就是静态文件可以直接用httpServer服务提供就Ok了。
httpServer和容器是完全独立的进程,准确的说可以不止两个,uwsgi可以随便开多少个都行,完全可配置的,比如同时开4-6个uwsgi服务进程提供容器服务。
Apache
将请求直接转发给Django
,和直接访问Django
没有什么差别官方文档
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/