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

AWS Linux2 PHP8环境下.platform/nginx/nginx.conf未覆盖默认配置求助

解决方案

1. 首先核对部署包路径规则

  • .platform/nginx/nginx.conf必须放在部署包的根目录,和你的PHP应用入口目录(比如public/)同级,不能嵌套在任何子文件夹内。
  • 若使用Zip包部署,打包时需进入项目根目录选中所有文件打包,不要直接打包外层项目文件夹,否则会导致EB无法识别.platform路径。

2. 自定义nginx.conf的必填规则

Amazon Linux 2的PHP平台EB环境会自动生成服务相关的Nginx配置片段,你的自定义nginx.conf必须包含默认的引用规则,否则会触发配置语法错误,EB会自动回滚到官方默认配置:

必须在http块内保留以下配置行

include /etc/nginx/conf.d/*.conf;
include /var/proxy/staging/nginx/conf.d/*;

配置修改完成后本地先执行nginx -t校验语法正确性,再上传部署。

3. 若路径和配置都正常,使用ebextension强制覆盖

如果.platform的覆盖逻辑不生效,直接使用ebextension完成配置替换,在项目根目录新建.ebextensions/00_nginx_override.config,内容如下:

files:
  /etc/nginx/nginx.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      # 这里粘贴你完整的自定义nginx.conf全量内容
      user nginx;
      worker_processes auto;
      error_log /var/log/nginx/error.log;
      # ...剩下的你的配置内容

container_commands:
  01_verify_nginx_config:
    command: "sudo nginx -t"
  02_reload_nginx:
    command: "sudo systemctl reload nginx"

部署前删除之前的.platform/nginx/nginx.conf文件,避免优先级冲突。

4. 生效验证

部署完成后执行eb ssh登录实例,运行cat /etc/nginx/nginx.conf确认内容是否为你的自定义配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:54:05