nginx 负载均衡 ngx_http_upstream

本文提供了三个关于如何使用Nginx进行负载均衡的具体配置案例,包括不同服务器权重设置、URL重写及代理传递等操作。
例子1:-------------------------
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com:8080;
server unix:/tmp/backend3;
}

server {
location / {
proxy_pass http://backend;
}
}


例子2:-----------------------------
http {
upstream myproject {
server 127.0.0.1:8000 weight=3;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}

server {
listen 80;
server_name www.domain.com;
location / {
proxy_pass http://myproject;
}
}
}


例子3:-----------------------------
upstream sitename {
server 127.0.0.1:4000;
server 127.0.0.1:4001;
}

server {
listen 80;
server_name www.sitename.com;
rewrite ^(/.*) http://sitename.com$1 permanent;
}

server {
listen 80;
server_name sitename.com;
location / {
proxy_pass http://sitename;
}
}
### Nginx Windows 版本 包含 `ngx_http_upstream_check_module` 模块 下载地址推荐 在 Windows 环境下,Nginx 官方发布的二进制版本通常不包含第三方模块,如 `ngx_http_upstream_check_module`。该模块用于实现对后端服务器的主动健康检查机制,支持周期性探测、自动隔离故障节点、自动恢复等功能,是构建高可用服务的重要组件之一[^1]。 由于官方不提供集成该模块的 Windows 构建版本,因此需要依赖社区维护的构建或自行编译。以下是一些可行的获取方式: #### 1. 第三方构建版本推荐 一些社区或组织提供了已经集成 `ngx_http_upstream_check_module` 的 Windows Nginx 构建版本,例如: - **OpenResty**:作为 Nginx 的增强发行版,部分构建版本支持集成 `ngx_http_upstream_check_module` 模块,适用于 Windows 平台[^3]。 - **GitHub 上的社区构建**:一些开发者在 GitHub 上发布 Windows 版本的 Nginx 构建包,通常会包含常用的第三方模块。例如,搜索关键词 `nginx windows upstream check module` 可找到相关项目。 #### 2. 自行编译指南 若无法找到合适的构建版本,可参考以下步骤自行编译: - 使用 **Visual Studio 2022**(需安装 C++ 组件)进行编译。 - 配合 **MSYS2** 或 **Cygwin** 工具链生成配置文件和进行构建。 - 准备 **Nginx 源码** 和 `ngx_http_upstream_check_module` 源码,并在配置阶段通过 `--add-module` 参数指定模块路径。 - 需要安装 **Strawberry Perl** 以支持 Perl 脚本依赖。 编译过程中可能遇到的问题包括依赖库缺失、补丁未正确应用、Windows 兼容性问题等,需逐一排查并解决[^2]。 #### 3. 示例配置 在成功集成模块后,可在 `nginx.conf` 中配置如下内容以启用健康检查功能: ```nginx upstream backend { server 192.168.1.10:80; server 192.168.1.11:80; check interval=3000 rise=2 fall=3 timeout=1000 type=http; check_http_send "HEAD / HTTP/1.0\r\n\r\n"; check_http_expect_alive http_2xx http_3xx; } ``` 此配置表示每 3 秒检查一次后端节点,连续 2 次成功标记为可用,连续 3 次失败则标记为不可用,并通过 HTTP 请求进行探测[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值