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

迁移至Amazon Linux 2后Nginx配置引发EB部署失败及配置失效问题

解决Amazon Linux 2上Elastic Beanstalk部署失败及Nginx配置不生效问题

问题背景

从Java 8+Amazon Linux 1迁移到Corretto 8+64位Amazon Linux 2/3.5.1后,按照要求替换.ebextensions为.platform文件夹存放自定义Nginx配置,但遇到两个问题:

  • 携带.platform文件夹部署时一直失败,移除或重命名该文件夹后应用可正常启动,但只能使用默认配置
  • 后来成功部署war包,.platform/nginx/conf.d/myconfig.conf里的client_max_body_size 20M;配置始终不生效,手动SSH到服务器添加配置并重启Nginx才有效,但无法每次部署都手动操作

排查过程

  1. 尝试两种Nginx配置方式:
    • 在.platform/nginx/conf.d/myconfig.conf中添加client_max_body_size 20M;
    • 直接用自定义的nginx.conf覆盖默认配置,放在.platform/nginx/nginx.conf
  2. 查看EB推荐的eb-engine日志,未找到近期有效错误信息
  3. 手动验证配置有效性:SSH到服务器添加配置并重启Nginx后,配置生效,说明配置内容本身没问题

问题根源

文件结构不符合Amazon Linux 2的要求!
之前在Amazon Linux 1上正常的结构:

Root
- .platform
- WEB-INF
- META-INF

Amazon Linux 2要求的正确结构:

Root
- .platform
- my-app.jar

原来适配AL1的Maven复制.platform文件夹的任务,已经不适用于AL2的打包结构要求。

修复方法

调整Maven打包配置,确保最终构建产物的根目录下同时存在.platform文件夹和应用jar包,让.platform与jar包处于同一层级,而非和WEB-INF、META-INF同级。重新打包部署后,Nginx配置会被正确加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:42:19