apache和django之间如何调用


看了网上wsgi的一些介绍,可基本上都是说wsgi是什么,没有说wsgi具体如何工作的。

简单地说,我想知道一个用django+apache搭建的web服务器上,apache收到客户端的请求,是如何将请求传递给django代码的。

django的代码是运行在apache的进程里的,还是自己有一个进程,通过某种方式进行通信?

如果是跑在apache的进程里的,那么每次有新的apache进程创建,都会重新载入django的代码?

apache django wsgi

下限凹凸曼 10 years, 1 month ago

其实就是个中间通信协议,正如楼上说的,用http也可以,wsgi好像效能要好一点,目前最好的是不是wsgi,我也记不清楚了,我这边用的是uwsgi.Java里面HTTPServer和应用容器之间也有类似的通信协议。两次隔离有个基本的好处就是静态文件可以直接用httpServer服务提供就Ok了。
httpServer和容器是完全独立的进程,准确的说可以不止两个,uwsgi可以随便开多少个都行,完全可配置的,比如同时开4-6个uwsgi服务进程提供容器服务。

oO豆豆Oo answered 10 years, 1 month ago

Apache 将请求直接转发给 Django ,和直接访问 Django 没有什么差别

官方文档

https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/

大声说出喜欢你 answered 10 years, 1 month ago

Your Answer