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

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

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

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

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

例如以下配置:

server.port=28082        

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

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

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

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

修改Tengine 的端口

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