菜鸟问个 tomcat 部署的问题

2020-11-06 07:42:48 +08:00
 hello2060
有两个 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 处理了

请问配置有可能错在哪? 谢谢
2429 次点击
所在节点    Java
8 条回复
xfabs
2020-11-06 08:29:53 +08:00
有没有试一下本地 localhost:port/B 能不能访问?
lqw3030
2020-11-06 08:40:51 +08:00
可以单独启动下 b 排除下 b 项目自身的问题,按你说的同级两个 war 是不会出现一个处理了另一个请求的情况的,他们处于两个隔离的 host 里
becauseIdo
2020-11-06 09:05:23 +08:00
nginx 配置路径转发就行
ebingtel
2020-11-06 09:07:09 +08:00
和 1L 的一样:
1) 确保 B 服务正常启动
2) 看下 nginx.conf 里面,对 /B 的映射是否正确
hello2060
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
2020-11-06 09:55:00 +08:00
你的监听端口配错了吧
oneforallsoft
2020-11-06 10:16:42 +08:00
@hello2060
"我把本地的 b.war 直接覆盖 " "样真正的 b.war 从本地传上去"
这 2 操作有什么区别
hello2060
2020-11-06 10:41:55 +08:00
@oneforallsoft 本地的是一个最简单的程序,就一个 getmapping('/'), 真正的是另外一个项目的 war 包,放到 aws 上都命名为 b.war, 问题可能在真正的 war 包里,我回头再看看,谢谢你。两个操作没区别,都是 scp 到 remote 去的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX