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
实例,每个实例代理一组后端 - 假设网站的大部分负载是由动态内容引起的。