当您的应用部署到 EDAS 后,如果遇到以下类似问题,均可参考此文档解决。

  • 为什么我的 SpringBoot 应用,在 application.properties 文件中配置的 tomcat 端口不生效?
  • 为什么我在控制台修改了 tomcat 端口后,在机器上查看时,发现监听在此端口的并不是 tomcat 进程?

其实这些是正常现象,详情如下:

由于 EDAS 实现流量灰度功能的需要,在 EDAS 中,所有使用了流量灰度的应用。服务请求都是先经过 Tengine,然后再由 Tengine 转发到 Tomcat 的。

为了使得 Tengine 能够顺利找到 Tomcat 的端口,所以在使用了 Tengine 的情况下, EDAS 将 Tomcat 端口固定成了 65000。

形如这种配置

server.port=28082        

端口其实还是 65000,因为我们在启动参数中默认添加了 --server.port=65000

所以观察 tomcat 是否启动成功时,需要注意,tomcat 是监听在 65000 端口的。

修改应用端口,其实修改的是 Tengine 的端口

同样的,修改应用端口,其实修改的是 Tengine 的端口,形如以下的控制台配置。

修改Tengine 的端口

将 Tengine 的端口改成了 8080,tomcat 的端口仍为 65000。