V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hello2060
V2EX  ›  Java

菜鸟问个 tomcat 部署的问题

  •  
  •   hello2060 · 2020-11-06 07:42:48 +08:00 · 2441 次点击
    这是一个创建于 1481 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有两个 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 条回复    2020-11-06 10:41:55 +08:00
    xfabs
        1
    xfabs  
       2020-11-06 08:29:53 +08:00 via iPhone
    有没有试一下本地 localhost:port/B 能不能访问?
    lqw3030
        2
    lqw3030  
       2020-11-06 08:40:51 +08:00
    可以单独启动下 b 排除下 b 项目自身的问题,按你说的同级两个 war 是不会出现一个处理了另一个请求的情况的,他们处于两个隔离的 host 里
    becauseIdo
        3
    becauseIdo  
       2020-11-06 09:05:23 +08:00
    nginx 配置路径转发就行
    ebingtel
        4
    ebingtel  
       2020-11-06 09:07:09 +08:00
    和 1L 的一样:
    1) 确保 B 服务正常启动
    2) 看下 nginx.conf 里面,对 /B 的映射是否正确
    hello2060
        5
    hello2060  
    OP
       2020-11-06 09:52:13 +08:00
    1. 我没有把 aws 上的 a,b 放到本地跑,我本地建了两个很简单的项目,命名为 a,b 目录结构一样本地是可以的
    2. 我把本地的 b.war 直接覆盖了 aws 上的 b.war /b 就能访问了,但是同样真正的 b.war 从本地传上去就不行,看来 b.war 有点问题
    fengpan567
        6
    fengpan567  
       2020-11-06 09:55:00 +08:00
    你的监听端口配错了吧
    oneforallsoft
        7
    oneforallsoft  
       2020-11-06 10:16:42 +08:00
    @hello2060
    "我把本地的 b.war 直接覆盖 " "样真正的 b.war 从本地传上去"
    这 2 操作有什么区别
    hello2060
        8
    hello2060  
    OP
       2020-11-06 10:41:55 +08:00
    @oneforallsoft 本地的是一个最简单的程序,就一个 getmapping('/'), 真正的是另外一个项目的 war 包,放到 aws 上都命名为 b.war, 问题可能在真正的 war 包里,我回头再看看,谢谢你。两个操作没区别,都是 scp 到 remote 去的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:03 · PVG 05:03 · LAX 13:03 · JFK 16:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.