noa*_*ale 2 django nginx amazon-ec2 gunicorn
NGINX proxy_pass配置有什么作用?例如,假设我有一个在Amazon的EC2服务上托管的Django应用。
在EC2上,假设我在2个nginx服务器前面有1个负载均衡器。Nginx服务器指向使用Gunicorn作为WSGI服务器的4个django应用服务器:
upstream my-upstream {
server 12.34.45.65:8000;
server 13.43.54.56:8000;
server 13.46.56.52:8000;
server 14.46.58.51:8000;
}
location / {
proxy_pass http://my-upstream;
}
Run Code Online (Sandbox Code Playgroud)
什么是proxy_pass?在这种情况下,它将是负载均衡器的URL吗?
看一下nginx的HttpProxyModule,这是proxy_pass的来源。该proxy_pass文档说:
该伪指令设置代理服务器的地址以及将位置映射到的URI。
因此,当您告诉Nginx到时proxy_pass,您说的是“将此请求传递到此代理URL”。
还有关于上游的文档:
该指令描述了一组服务器,可以在指令proxy_pass和fastcgi_pass中将它们用作单个实体。
因此,您将上游用于proxy_pass的原因是因为proxy_pass需要一个URL,但是您希望将其传递给多个URL(因此您使用上游)。
如果您的负载均衡器位于nginx的前面,则您的负载均衡器URL将不在此配置中。
| 归档时间: |
|
| 查看次数: |
6880 次 |
| 最近记录: |