Gunicorn和Nginx之间的区别

这是一个开始的问题,但是我很难理解Gunicorn和Nginx之间的抽象。 我不是在寻找一个详细的答案,只是在高层次上,每个angular色扮演什么angular色? 他们如何互动?

根据Gunicorn的部署文档 ,我的理解是您使用Nginx作为Gunicorn的代理服务器。

由于Gunicorn从Ruby的Unicorn移植,我假设Unicorn的限制和规格也适用于Gunicorn:

Unicorn是Rack应用程序的HTTP服务器,专门用于为低延迟,高带宽连接的快速客户端提供服务,并利用Unix / Unix类内核中的功能。 慢速客户端只能通过放置一个能够完全缓冲Unicorn和慢速客户端之间的请求和响应的反向代理服务器。

Gunicorn的部署文档也是这样说的:

虽然有很多HTTP代理可用,但我们强烈建议您使用Nginx。 如果您选择其他代理服务器,则需要确保在使用默认的Gunicorn工作人员时缓存较慢的客户端。 如果没有这种缓冲,Gunicorn将容易受到拒绝服务攻击。

所以Gunicorn服务于快速,低延迟的高带宽客户端,而Nginx服务于其他服务器。