一个Nginx代理80个Tomcat实例代码

 更新时间:2026年10月30日 10:25:22   作者:SAFE20242034  
Tomcat是一个常用的Java Web应用服务器,可以通过设置HTTP代理来实现代理服务器的功能,这篇文章主要介绍了一个Nginx代理80个Tomcat的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

你的业务场景是 一个 Nginx 代理 80 个 Tomcat 实例,这涉及到 高并发负载均衡,需要考虑如下关键点:

1. 基本 Nginx 负载均衡方案

Nginx 作为反向代理 + 负载均衡,均衡 80 个 Tomcat 实例,核心配置如下:

upstream tomcat_backend {
    # 定义 80 个 Tomcat 实例
    server 192.168.1.101:8080;
    server 192.168.1.102:8080;
    server 192.168.1.103:8080;
    ...
    server 192.168.1.180:8080;
    
    # 负载均衡策略(默认轮询)
    # 其他策略可选:least_conn(最小连接数)、ip_hash(同一 IP 访问同一 Tomcat)
    least_conn;
}

server {
    listen 80;
    
    location / {
        proxy_pass http://tomcat_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

✅ 轮询/最小连接数负载,防止某个 Tomcat 过载

✅ IP 透传,确保 Tomcat 端可以识别客户端 IP

✅ 80 台 Tomcat 负载均衡,提供高并发处理能力

2. 负载均衡策略优化

根据业务特性,选择合适的负载均衡方式:

(1) 轮询(默认)

upstream tomcat_backend {
    server 192.168.1.101:8080;
    server 192.168.1.102:8080;
}

特点:请求按顺序分配,适用于请求量较均匀的业务。

(2) 最小连接数(least_conn)

upstream tomcat_backend {
    least_conn;
    server 192.168.1.101:8080;
    server 192.168.1.102:8080;
}

特点:优先分配当前连接数最少的 Tomcat,适用于请求耗时不同的业务。

(3) IP 哈希(ip_hash)

upstream tomcat_backend {
    ip_hash;
    server 192.168.1.101:8080;
    server 192.168.1.102:8080;
}

特点:同一 IP 用户会一直访问同一台 Tomcat,适用于**需要会话保持(Session Stickiness)**的业务。

3. Tomcat 端优化

如果你要支撑高并发,Tomcat 端也要优化:

(1) 调整 Tomcat 连接池

修改 server.xml:

<Connector port="8080" 
    protocol="HTTP/1.1"
    maxThreads="500"
    minSpareThreads="50"
    enableLookups="false"
    connectionTimeout="20000"
    redirectPort="8443" />

✅ maxThreads=500 :提高并发能力

✅ minSpareThreads=50:减少启动时线程创建开销

(2) 关闭 DNS 反向解析

在 server.xml 里加:

enableLookups="false"

避免 Tomcat 解析 IP,提升响应速度。

4. 解决 80 台 Tomcat 运行维护问题

管理 80 个 Tomcat 可能会遇到运维难题,推荐:

✅ 自动化管理:可以使用 Ansible 或 Shell 脚本 批量启动/停止 Tomcat

✅ 日志集中管理:ELK(Elasticsearch + Logstash + Kibana)

✅ 监控告警:Zabbix / Prometheus 监控 Tomcat 运行状态

示例:用 Shell 批量启动 80 个 Tomcat

for i in {101..180}
do
    ssh tomcat@$i "sh /opt/tomcat/bin/startup.sh"
done

可以批量管理 Tomcat 服务。

5. 结论

你的架构:

[用户] → [Nginx 负载均衡] → [80 个 Tomcat]
  • Nginx 负责流量分发
  • Tomcat 端优化连接数
  • 运维自动化管理 80 台 Tomcat
  • 日志和监控系统支撑大规模服务

这样可以高效支撑大规模高并发业务。你觉得这个方案可行吗?
很好,那你可以逐步实施这个方案:

1️⃣ 先部署一个小规模测试集群(例如 Nginx + 3 个 Tomcat),验证负载均衡是否正常。

2️⃣ 调整 Tomcat 参数,确保每台 Tomcat 能稳定支撑高并发。

3️⃣ 扩展到 80 台 Tomcat,并用 Ansible 或 Shell 脚本批量管理。

4️⃣ 搭建监控系统(Prometheus/Zabbix + ELK),实时观察集群运行状态。

如果后续遇到问题,比如:

  • 负载分配不均(可能需要优化 Nginx 负载策略)
  • 某些 Tomcat 压力过大(检查 least_conn 是否生效)
  • 日志管理太复杂(考虑 ELK 集中处理日志)

你可以随时找我一起分析和优化!

到此这篇关于一个Nginx代理80个Tomcat的文章就介绍到这了,更多相关一个Nginx代理80个Tomcat内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx优化的六点方法

    nginx优化的六点方法

    这篇文章主要介绍了nginx优化的六点方法,有对nginx优化不太熟悉的同学可以参考下
    2021-01-01
  • Nginx配置WSS安全WebSocket代理的实现

    Nginx配置WSS安全WebSocket代理的实现

    本文详细介绍Nginx配置WSS(WebSocket安全连接)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • Nginx配置https脚本实例

    Nginx配置https脚本实例

    这篇文章主要为大家介绍了Nginx配置https脚本实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 利用nginx解决跨域问题的方法(以flask为例)

    利用nginx解决跨域问题的方法(以flask为例)

    这篇文章主要介绍了利用nginx解决跨域问题的方法,文中以flask为例给大家介绍的很详细,需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02
  • 前端加载访问速度优化详细指南(Nginx)

    前端加载访问速度优化详细指南(Nginx)

    在前端开发中,优化页面加载速度成为了开发者的一项重要任务,下面这篇文章主要给大家介绍了关于前端加载访问速度优化(Nginx)的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • nginx作grpc的反向代理踩坑总结

    nginx作grpc的反向代理踩坑总结

    nginx是一款高性能的web服务器,常用于负载均衡和反向代理,本文主要介绍了nginx作grpc的反向代理踩坑总结,感兴趣的可以了解一下
    2021-07-07
  • Nginx代理导致API 500错误的排查与修复指南

    Nginx代理导致API 500错误的排查与修复指南

    前端访问 http://localhost:9527/dev-api/Login/getStaticResource 返回 500 Internal Server Error,直接访问 http://anyu-portal.test/ 正常,所以本文给大家介绍了Nginx代理导致API 500错误的排查与修复指南,需要的朋友可以参考下
    2026-07-07
  • Nginx单机垂直扩容的实现示例

    Nginx单机垂直扩容的实现示例

    本文主要介绍了Nginx单机垂直扩容的实现示例,垂直扩容的核心思想是不改变现有架构,仅通过升级硬件和深度优化软件/系统配置,将单台 Nginx 服务器的性能压榨到物理极限,掌握Nginx单机垂直扩容,是应对流量初期增长、控制成本、快速解决问题的最高效手段
    2026-08-08
  • 简介Nginx中的location匹配规则

    简介Nginx中的location匹配规则

    这篇文章主要介绍了简介Nginx中的location匹配规则,Nginx是一个高速的基于事务的非阻塞服务器,需要的朋友可以参考下
    2015-07-07
  • Nginx服务器配置文件完全解析

    Nginx服务器配置文件完全解析

    这篇文章主要介绍了Nginx服务器配置文件完全解析,Nginx的异步非阻塞特性使其拥有非常出色的性能,需要的朋友可以参考下
    2015-08-08

最新评论