hello2060
V2EX  ›  Java

菜鸟问个 tomcat 部署的问题

  •  
  •   hello2060 · Nov 6, 2020 · 3255 views
    This topic created in 2049 days ago, the information mentioned may be changed or developed.
    有两个 app: A 和 B, 一个在根目录下,一个是 /B, 所以我在 web 目录下有两个 war: ROOT.war 和 B.war

    部署到 aws 上,前面有个 nginx, nginx 只有一个 conf 到主域名。

    tomcat log 里面只有 a.log, 从 log 看 有 ‘No mapping found for HTTP request with URI [/B]' 说明 /B 被 A 处理了

    请问配置有可能错在哪? 谢谢
    8 replies    2020-11-06 10:41:55 +08:00
    xfabs
        1
    xfabs  
       Nov 6, 2020 via iPhone
    有没有试一下本地 localhost:port/B 能不能访问?
    xyooyx
        2
    xyooyx  
       Nov 6, 2020
    可以单独启动下 b 排除下 b 项目自身的问题,按你说的同级两个 war 是不会出现一个处理了另一个请求的情况的,他们处于两个隔离的 host 里
    becauseIdo
        3
    becauseIdo  
       Nov 6, 2020
    nginx 配置路径转发就行
    ebingtel
        4
    ebingtel  
       Nov 6, 2020
    和 1L 的一样:
    1) 确保 B 服务正常启动
    2) 看下 nginx.conf 里面,对 /B 的映射是否正确
    hello2060
        5
    hello2060  
    OP
       Nov 6, 2020
    1. 我没有把 aws 上的 a,b 放到本地跑,我本地建了两个很简单的项目,命名为 a,b 目录结构一样本地是可以的
    2. 我把本地的 b.war 直接覆盖了 aws 上的 b.war /b 就能访问了,但是同样真正的 b.war 从本地传上去就不行,看来 b.war 有点问题
    fengpan567
        6
    fengpan567  
       Nov 6, 2020
    你的监听端口配错了吧
    oneforallsoft
        7
    oneforallsoft  
       Nov 6, 2020
    @hello2060
    "我把本地的 b.war 直接覆盖 " "样真正的 b.war 从本地传上去"
    这 2 操作有什么区别
    hello2060
        8
    hello2060  
    OP
       Nov 6, 2020
    @oneforallsoft 本地的是一个最简单的程序,就一个 getmapping('/'), 真正的是另外一个项目的 war 包,放到 aws 上都命名为 b.war, 问题可能在真正的 war 包里,我回头再看看,谢谢你。两个操作没区别,都是 scp 到 remote 去的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 12:04 · PVG 20:04 · LAX 05:04 · JFK 08:04
    ♥ Do have faith in what you're doing.