Nginx 安装时怎么集成 Tomcat 插件实现动静分离

千枫姑娘_9922

千枫姑娘_9922

2026-08-27

554人浏览

原创

nginx 不支持 tomcat 插件,所谓“集成”实为反向代理+静态资源直服的动静分离:nginx 处理 html/css/js 等静态文件,通过 proxy_pass 将 jsp/servlet 等动态请求转发至 tomcat。

nginx 安装时怎么集成 tomcat 插件实现动静分离

Nginx 本身不提供也不支持“Tomcat 插件”——它没有类似 Apache 的 mod_jk 或 Tomcat 原生插件机制。所谓“Nginx 集成 Tomcat 实现动静分离”,本质是通过反向代理 + 静态资源直 serving 的方式协作,而非安装插件。

你不需要、也不能在 Nginx 安装过程中“集成 Tomcat 插件”。正确路径是:独立安装 Nginx 和 Tomcat → 配置 Nginx 作为反向代理和静态服务层 → 按请求路径/后缀做路由分发。

下面说清楚关键点:

✅ 正确理解“集成”的真实含义

  • Nginx 是纯 C 编写的高性能 Web 服务器/代理,无 Java 运行环境,无法加载 Tomcat 组件(如 catalina.jar、servlet 容器等);
  • Tomcat 是 Java Servlet 容器,专注运行 JSP/Servlet,静态文件服务能力弱;
  • “集成” = 网络层面协同:Nginx 接收所有请求,自己处理 .html、.css、.js、.png 等静态资源;对 /app/*.jsp 或 /api/* 等动态路径,则用 proxy_pass 转发给 Tomcat 的 HTTP 端口(如 8080)。

✅ 实现动静分离的核心配置项

在 nginx.conf 的 server 块中添加如下逻辑:

  • 定义后端 Tomcat 组(支持负载均衡扩展)

    Nginx Hosting
    Nginx Hosting

    通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

    下载
    upstream tomcat_backend {
      server 127.0.0.1:8080;  # 单台时可写本地地址
      # server 192.168.10.102:8080 weight=2;
      # server 192.168.10.103:8080;
    }
  • 静态资源直接由 Nginx 提供(高效、带缓存)

    location ~* \.(html|htm|js|css|png|jpg|jpeg|gif|bmp|ico|svg|woff2?|ttf|eot)$ {
      root /var/www/static;  # 静态文件实际存放目录
      expires 7d;
      add_header Cache-Control "public, immutable";
    }
  • 动态请求转发给 Tomcat

    location ~ \.(jsp|do|action|servlet)/?$ {
      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;
      proxy_redirect off;
    }

⚠️ 注意:不要用 location / 全局代理,否则静态资源也会被错误转发到 Tomcat,失去动静分离意义。

✅ 部署前必须确认的依赖与准备

  • Tomcat 已正常启动,且能通过 curl http://127.0.0.1:8080/test.jsp 访问测试页;
  • Nginx 已编译或安装完成(推荐使用官方源或 apt install nginx / yum install nginx);
  • 静态资源(图片、前端 HTML/CSS/JS)已统一放在 Nginx 可读目录(如 /var/www/static),路径与 root 指令一致;
  • 若跨主机部署,确保网络互通、防火墙放行对应端口(Nginx 的 80/443,Tomcat 的 8080)。

✅ 常见误区提醒

  • ❌ 试图找 “nginx-tomcat-plugin.so” 或编译时加 --with-tomcat-module —— 不存在;
  • ❌ 把 .jsp 文件放到 Nginx 的 html/ 目录下指望它执行 —— Nginx 不解析 JSP;
  • ❌ 在 Tomcat 中配置 mod_proxy 或反向代理自身 —— 方向反了,应由 Nginx 代理 Tomcat,不是反过来;
  • ❌ 忘记设置 proxy_set_header 导致 Tomcat 日志中 RemoteAddr 全是 127.0.0.1 —— 影响真实 IP 获取和日志分析。

不复杂但容易忽略。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx tomcat

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3012

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2756

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5132

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

807

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习