搜索

首页  >  问答  >  正文

wsgi - apache和django之间如何调用

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

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

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

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

某草草某草草2784 天前582

全部回复(2)我来回复

  • ringa_lee

    ringa_lee2017-05-16 17:05:03

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

    回复
    0
  • 阿神

    阿神2017-05-16 17:05:03

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

    官方文档

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

    回复
    0
  • 取消回复