1. 首页
  2. 网络技术
  3. 网管软件
  4. Nginx四层负载均衡配置实践

Nginx四层负载均衡配置实践

上传者: 2025-05-27 01:09:06上传 DOC文件 68KB 热度 2次

Nginx 的四层负载均衡功能挺适合做 TCP 层分发的,尤其是非 HTTP 协议的时候,像数据库代理、文件传输这些都能用上。你只要启用一下stream模块,写几行配置,就能让多个服务跑得更稳、更快。

TCP 层的 Nginx 负载均衡,不解析应用协议,响应快、效率高,适合高并发场景。它就是用来干“把流量平均扔给后端机器”的活,配置也不难,挺适合动手试一试。

编译时加参数:加上--with-stream就能开启这功能,如果你用的是预编译版本,记得确认有没有这个模块。

./configure --with-http_stub_status_module --with-stream
make && make install

配置文件写法也挺清晰,基本就是定义个upstream,写上服务器地址,再搞个server块监听端口转发就行:

stream {
  upstream kevin {
    server 192.168.10.10:8080;
    server 192.168.10.20:8081;
    server 192.168.10.30:8081;
  }p>
<p>server {
    listen 8081;
    proxy_timeout 20s;
    proxy_pass kevin;
  }
}

负载策略也能换,默认是轮询,但你可以改成least_conn(最少连接),还可以设置weight来调节分流量级:

upstream kevin {
  least_conn;
  server 192.168.10.10:8080 weight=2;
  server 192.168.10.20:8081 weight=1;
  server 192.168.10.30:8081 weight=1;
}

这种方式还蛮灵活的,尤其对那些不是 HTTP 的服务,像 Redis、MySQL 等场景有用。如果你用 LVS 嫌麻烦,Nginx 这个方案其实也够用了。

哦对了,记得用http_stub_status_module看下运行状态,不然出问题了都不好排查。

如果你最近正好要做点 TCP 转发、灰度流量、端口复用什么的,不妨试试这个思路,轻量、稳定,还挺好用的。

下载地址
用户评论