用于扩展的 Nginx 集群

用于扩展的 Nginx 集群

Nginx 是否打算用于多个 Nginx 实例的配置,以便将反向代理的负载分散到多个 PHP 实例?如果是这样,如何配置?

或者是否打算让一个 Nginx 实例处理流向我的 PHP 实例的所有流量,无论流量有多大,并且单个 Nginx 实例可以处理所有负载?

答案1

简而言之,nginx 能够选择不同的后端,例如,ngx_http_upstream_module,充当前端。当然,您可以使用某种负载平衡来运行多个 nginx 前端,但这没有 nginx PoV 的任何特殊支持。

答案2

例如,此配置将代理分散到许多 PHP 实例。

upstream phpbackend {
    server unix:/tmp/php1.sock;
    server unix:/tmp/php2.sock;
    server unix:/tmp/php3.sock;
    # ... and so on
}

server {

    location ~\.php$ {
        proxy_pass http://phpbackend;
    }

}

答案3

nginx如果配置得当,它可以处理数千个请求,对于静态内容或代理其他内容来说是一个不错的选择。
通常,它比php任何其他动态内容后端都更快、性能更高,因此它可以轻松地代理多个后端的请求。

到那个时刻巨大的设置,您通常会设置多个nginx实例,每个实例代理一组后端 - 假设网站的大部分负载是由动态内容引起的。

相关内容