You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用部署AWS Elastic Beanstalk遇严重健康状态及502错误求助

排查AWS Elastic Beanstalk部署Spring Boot应用502错误的实操步骤

1. 先确认本地Jar包可用性

  • 本地执行 java -jar target/你的Jar包名称.jar,启动后用浏览器或curl访问http://localhost:8080/api/user,验证端点是否正常返回。如果本地都无法运行,优先解决代码或依赖问题。
  • 检查Jar包是否为可执行格式:打开Jar内的META-INF/MANIFEST.MF文件,确认包含以下关键属性:

    Main-Class: org.springframework.boot.loader.JarLauncher
    Start-Class: com.yourpackage.YourApplication

2. 核对Elastic Beanstalk环境配置

  • 端口匹配:EB默认监听5000端口,而Spring Boot默认用8080,二选一调整:
    • 改Spring Boot端口:在application.properties中添加server.port=5000,重新打包部署。
    • 改EB配置:进入控制台→环境→配置→软件,在「环境属性」中添加键值对SERVER_PORT=8080,告知EB应用使用的端口。
  • 资源与权限:确保实例类型(如t2.micro及以上)有足够内存,避免启动时OOM;同时确认IAM角色具备S3读取权限(EB会从S3拉取你的Jar包)。

3. 查看EB日志定位启动故障

  • 登录EB控制台,进入目标环境,点击左侧「日志」→「完整日志」或「请求日志」下载查看:
    • 重点关注web.stdout.log和web.stderr.log,里面会记录Spring Boot启动时的报错,比如依赖缺失、配置文件错误、端口冲突等。
    • 也可通过「监控」→「日志流」实时查看日志,搜索Exception、Failed to start等关键词快速定位问题。

4. 检查Maven打包流程

  • 用mvn clean package替代单纯的mvn package,清理旧编译文件避免干扰。
  • 若为多模块项目,确保打包的是包含启动类的模块,且pom.xml中打包方式为jar:
    <packaging>jar</packaging>
    
  • 查看mvn package输出日志,确认无编译或测试失败,若需跳过测试可执行mvn clean package -DskipTests。

5. 验证部署包与流程

  • 从EB关联的S3存储桶下载部署的Jar包,本地运行确认未损坏。
  • 尝试用EB CLI部署:安装CLI后,在项目根目录执行eb init、eb deploy,查看部署过程中的报错提示。

内容的提问来源于stack exchange,提问作者Bruna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:10:02