对于upstream负载均衡配置1.如果后端报错直接返回500 可以直接使用 upstreamupstream backend { server1, server2 } location /api{ proxy_pass https://backend/; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_next_upstream_timeout 3s; proxy_next_upstream_tries 2;使用lua脚本 直接使用openresty更方便核心思路 直接通过lua脚本替代 业务宕机切换节点逻辑使用共享内存 lua_shared_dict 通过 cache ngx.shared.xx 获取到共享内存 key 通过cache.set(name,value,timeout) cache.get(name) 设置 获取内存 记录失败的节点 在下次转发之前 判断是否访问的是已经记录的失败节点 如果是 则切换到另一节点 具体代码如下content_by_lua新增模块/版本升级解压安装包 通过./configure --with指定参数 通过nginx -V / openresty -V 查看当前安装的版本 和安装时携带的模块 在./configure -with时携带之前的模块 并加载指定路径下的新模块 make 生成新的二进制文件 注意不要 make install然后走热更新流程备份文件 cpkill -USR2 开启新的masterKill - WINCH 关闭旧的 master回退 kill HUP 旧进程 kill QUIT 新进程未完