首页 文章

Spring Boot Tomcat忽略server.port属性?

提问于
浏览
2

我目前正试图通过一些小的配置更改来启动和运行Spring Boot应用程序,但我似乎无法让端口正确监听 . 似乎tomcat实例加载的server.xml会覆盖我的application.properties文件指定的任何内容 .

application.properties:

logging.level.app = TRACE
logging.file = /tmp/my-server.log
server.port = 8081

当我将其部署到我的/ usr / local / tomcat / webapps时,我可以访问服务器,但只能访问端口8080.它似乎忽略了server.port属性 . 我相信服务器正在正确地获取属性文件,因为日志记录正确地转到/tmp/my-server.log

最终目标是让服务器在Amazon Elastic Beanstalk中运行时监听我选择的端口 . 我可以更新负载均衡器上的端口,但如果服务器只监听它的预配置端口,那就无所谓了 .

提前感谢您的帮助!

OSX Yosemite,Tomcat 8.0.24,Spring Boot v1.2.4

3 回答

  • -1

    server.port 这样的Spring Boot属性只有在使用嵌入式Tomcat时才会生效 . 也就是说,如果您通过使用 SpringApplication.run() 执行 main 方法或通过创建可执行JAR并使用 java -jar 启动它来启动应用程序 .

    将应用程序作为WAR归档文件部署到独立的Tomcat时,必须通过编辑 server.xml 以及可能的其他配置文件以传统方式配置Tomcat .

  • 6

    server.port属性仅用于嵌入式应用程序服务器 . 如果要使用独立的配置,则需要在应用程序服务器本身上完成配置 . 在tomcat的情况下,if在server.xml文件中指定 .

    如果要在AWS Elastic Beanstalk上运行应用程序,则在创建环境时,可以指定要使用Web服务器tomcat .

    这样您就不必担心端口了 . 亚马逊将为您处理它 .

  • 0

    如果您在eclipse或任何类似的IDE中运行,请选择项目 - >右键单击 - >选择配置 - >选择转换为Maven项目 .

相关问题