我想在nginx中映射一个特定的域,然后让nginx循环访问将响应http请求的服务器列表。
所以我有nginx www.domain1.com
它是一个Python应用程序,我有10个粘贴运行在不同的端口上的实例,我希望nginx转发/代理请求使用循环。
它可以做到这一点,如果是的话,怎么样?
您可以在nginx的上游块中为每个后端服务器指定端口:
upstream mybackend { server localhost:8080; server localhost:8081; server localhost:8082; server localhost:8083; server localhost:8084; server localhost:8085; server localhost:8086; server localhost:8087; server localhost:8088; server localhost:8089; } server { location / { proxy_pass http://mybackend; } }
真的,你最好是使用像haproxy这样的东西,但nginx可以反向代理到多个服务器在后端。
看看nginx的上游模块http://wiki.nginx.org/NginxHttpUpstreamModule
将上游服务器设置为相同权重以进行分布式循环平衡。 例如
upstream backend { server ww1.domain.com weight=10; server ww2.domain.com weight=10; }
默认情况下,权重为1,因此技术上不需要10的权重,但设置更高的默认权重可以让您轻松引入体重更轻的服务器。