You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx托管多个WordPress站点出现duplicate upstream错误如何解决?

错误原因

Nginx的upstream配置块属于全局作用域,同一名称的upstream在整套Nginx配置中仅允许定义一次。你在两个WordPress站点的独立配置文件中都重复定义了wp-php-handler,因此触发重复定义报错。

解决方案(推荐共用全局upstream)

步骤1:抽取upstream到全局配置

编辑Nginx主配置文件 /etc/nginx/nginx.conf,找到http配置块,将公共的upstream定义添加到块内:

http {
    # 原有http块下的所有配置保持不变,新增以下内容
    upstream wp-php-handler {
        server unix:/var/run/php/php7.4-fpm.sock;
    }
}

步骤2:删除站点配置中的重复upstream

修改所有WordPress站点的配置文件(包括第一个正常运行的站点、本次新增的test.wpsite.co.uk.conf),删除文件开头的upstream wp-php-handler { ... }整段内容,仅保留server块的原有配置即可,fastcgi_pass wp-php-handler这行不需要修改。

步骤3:验证配置并重载生效

执行配置校验命令,确认语法无误:

sudo nginx -t

返回test is successful后,重载Nginx配置生效:

sudo systemctl reload nginx

可选方案

如果你不需要复用upstream,也可以给每个站点的upstream设置唯一名称,比如第一个站点用wp-php-handler-site1,第二个用wp-php-handler-site2,同步修改对应fastcgi_pass的值即可,不过该方案冗余度高,不推荐。

内容的提问来源于stack exchange,提问作者user8758206

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:00:03