noa*_*ale 52 django nginx gunicorn
通过亚马逊EC2的许多Django应用程序部署使用HTTP服务器NGINX和Gunicorn.
我想知道他们实际上做了什么以及为什么两者并行使用.并行运行它们的目的是什么?
Tim*_*ony 71
它们不是并行使用的.NGINX是一个反向代理.这是排在第一位的.它接受传入的连接并决定它们下一步应该去哪里.它(通常)也提供静态媒体,如CSS,JS和图像.它还可以执行其他操作,例如通过SSL加密,缓存等.
Gunicorn是下一层,是一个应用服务器.NGINX看到传入连接是为了www.domain.com并且知道(通过配置文件)它应该将该连接传递给Gunicorn.Gunicorn是一个WSGI服务器,基本上是:
Web服务器与Web应用程序或框架之间的简单通用接口
Gunicorn的工作是管理和运行Django实例(类似于django-admin runserver在开发期间使用)
与此设置的对比是将Apache与mod_wsgi模块一起使用.在这种情况下,应用程序服务器实际上是Apache的一部分,作为模块运行.
Nginx 和 Gunicorn 不并行使用。
下图显示了 nginx 和 Gunicorn 如何交互。
| 归档时间: |
|
| 查看次数: |
7081 次 |
| 最近记录: |