node.js - 上传/部署 zip 文件时,不会创建 .platform Hook 中的 AWS Elastic Beanstalk 自定义 nginx .conf 文件

标签 node.js amazon-web-services express nginx amazon-elastic-beanstalk

我正在将 Node JS/Express JS 应用程序部署到 AWS Elastic Beanstalk 环境。我正在创建自定义 nginx 配置文件来更改设置。为此,我创建了以下文件。

{project_root_directory}/.platform/nginx/conf.d/elasticbeanstalk/mynginx.conf

server {
    client_max_body_size 512M;
}

然后,为了像往常一样部署应用程序,我压缩了我的项目并在 AWS 控制台中上传了 zip。环境更新后,我查看了服务器上的文件,没有。

enter image description here

为什么文件不存在,我该如何修复?

详情如下:

图像是 Amazon Linux 2 AMI。

我在根文件夹中创建了一个 .ebextensions 文件夹,其中包含以下文件:

00-文件.config

files:
    "/etc/nginx/conf.d/mynginx.conf" :
        mode: "000755"
        owner: root
        group: root
        content: |
           client_max_body_size 512M;

01-nodecommand.config

option_settings:
  - namespace: aws:elasticbeanstalk:container:nodejs
    option_name: NodeCommand
    value: "npm start"

02-迁移命令.config

option_settings:
  - namespace: aws:elasticbeanstalk:container:nodejs
    option_name: MigrationCommand
    value: "npx sequelize-cli db:migrate"

然后我再次在根文件夹中创建了 .platform/nginx/conf.d/mynginx.config 文件,内容如下。

server {
    client_max_body_size 512M;
}

所以我有这样的项目结构。

enter image description here

然后我压缩项目。然后登录到 AWS 控制台并转到 Beanstalk 控制台并在那里上传 zip 文件。

enter image description here

最佳答案

假设您使用的是 Amazon Linux 2 EB 平台,正确的文件夹应该是:

{project_root_directory}/.platform/nginx/conf.d/mynginx.conf

不是

{project_root_directory}/.platform/nginx/conf.d/elasticbeanstalk/mynginx.conf

更新:

你的 mynginx.conf 应该是:

client_max_body_size 512M;

关于node.js - 上传/部署 zip 文件时,不会创建 .platform Hook 中的 AWS Elastic Beanstalk 自定义 nginx .conf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69238394/

相关文章:

javascript - 抛出异常破坏 promise 链

PHP AWS SDK 创建 S3Client 的 fatal error

amazon-web-services - 每个 Lambda 的 AWS Lambda 不同的 IP 地址

node.js - NodeJS 将请求体转换为大写并返回响应

database - Node.JS 中共享数据库句柄的设计模式

amazon-web-services - 在 aws 中分离实时和测试环境的最佳方法

javascript - RailwayJS vs Geddy vs Express vs Socket.IO

Node.js、Express.js - 意外标记 {

node.js - 服务器未向前端发送正确的响应?

node.js - 在 Visual Studio 代码中使用 typescript 和 webpack 调试 nodejs 项目的正确方法