如何允许 NGINX 缓冲多个 Django 应用服务器的客户端请求,这些 Django 应用服务器都运行像 Gunicorn 这样的 WSGI 服务器?我需要在配置文件中更改什么?
问问题
1123 次
2 回答
4
使用 nginx 的upstream选项定义应用服务器池;当你 proxy_pass 时,你可以 proxy_pass 到命名的上游:
upstream my-upstream {
server 127.0.0.1:9000;
server 127.0.0.1:9001;
}
location / {
proxy_pass http://my-upstream;
}
除非您另外指定,否则请求将在不同的上游服务器之间循环。
于 2013-04-19T17:21:43.017 回答
0
upstream my-upstream {
least_conn;
server 127.0.0.1:9000;
server 127.0.0.1:9001;
}
location / {
proxy_pass http://my-upstream;
}
假设您在服务器 1 关闭时使用 4 个服务器,那么 nginx 会智能地将您的下一个请求转移到您的下一个可用服务器,一旦服务器 1 启动,那么您的下一个请求将在服务器 1 中再次发送。实际上 nginx 使用循环算法转移请求。
upstream my-upstream {
ip_hash;
server 127.0.0.1:9000;
server 127.0.0.1:9001;
}
location / {
proxy_pass http://my-upstream;
}
在这种情况下,之前的场景将不一样,就像我们总是会从服务器 1 获得响应,当我们的服务器 1 关闭时,它会转到服务器 2,然后当它启动时,它将再次响应服务器 1。
于 2019-09-03T11:46:59.127 回答