nginx负载均衡集群配置

本文介绍了一个具体的Nginx与Tomcat集群配置案例,包括如何设置Nginx来转发请求到多个Tomcat应用实例,以及如何通过ip_hash算法实现会话保持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举例环境:
转发服务:Nginx 1台。 IP地址为 192.168.1.20
应用服务:两台物理主机,每台配置两个Tomcat应用,共4个Tomcat应用。假定两台物理主机IP地址分别 192.168.1.21 和 192.168.1.22。四个Tomcat的http监听端口分别为: 8080和 9080

Tomcat服务配置:
关于Tomcat的启动配置略。
4个Tomcat启动之后,对应的Http请求的端口分别如下:
192.168.1.21:8080
192.168.1.21:9080
192.168.1.22:8080
192.168.1.22:9080

Nginx服务配置:
1、配置服务转发upstream。该配置是nginx的集群配置。将四个tomcat的节点组成一个集群
配置内容如下

    upstream fuzai_server {
        server 192.168.1.21:8080;
        server 192.168.1.21:9080; 
        server 192.168.1.22:8080;
        server 192.168.1.22:9080;
        ip_hash;
    }

其中paper_server为配置的集群名称,该名称任意。
Server后面对应的四个IP : port 的配置就是对应的四个Tomcat节点。
ip_hash表示采用针对访问IP的Hash算法进行转发。该配置的作用是,当客户端来自相同的一个IP,采用同一个节点进行转发的配置。如果想要采用四个Tomcat节点依次轮询的方式,将该配置去掉即可。

2、集群转发配置
配置内容如下:

server {
    listen       90;
    server_name   域名或ip;
    client_max_body_size 10240M;
    location / {
        proxy_pass          http://fuzai_server;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    Host $http_host;
    }
}

listen配置监听的端口为90
server_name配置访问服务器的域名,当同一个端口对应对个域名的情况下,该配置有用。
proxy_pass配置后面的 paper_server就是之前配置的upstream名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值