为什么我在代码中配置的 Tomcat 端口不生效?
当您的应用部署到 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 的端口改成了 8080,tomcat 的端口仍为 65000。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论