【问题标题】:Unable to write to /etc/nginx with eb deploy (aws elastic beanstalk NodeJS)无法使用 eb deploy 写入 /etc/nginx(aws elastic beanstalk NodeJS)
【发布时间】:2020-09-08 13:00:10
【问题描述】:

我在 NodeJS Elastic Beanstalk 上,通过 eb deploy 部署时遇到了一个奇怪的问题。

我的.ebextensions 文件夹有一个文件,应该在/etc/nginx/conf.d/ 上创建一个文件

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

但它似乎无法做到。我尝试了几件事来测试这个:

  • 尝试将其写入/tmp 目录,它能够
  • 尝试 ssh 并手动创建文件。它可以。所以我的帐户应该没有问题
  • 尝试创建一个 bash 文件,该文件只会将文件从 /tmp 迁移到 /etc/nginx/conf.d 目录。如果通过.ebextensions 路由运行,则无法迁移文件。但是通过 ssh 运行 bash 文件,它会的。

我碰壁了。知道为什么会这样,非常感谢。

【问题讨论】:

    标签: node.js nginx amazon-elastic-beanstalk


    【解决方案1】:

    *有人发布了这个问题的正确答案,但他以某种方式删除了它,或者其他人做了。不确定这是否是非法答案? :D 我在等他转发,但我猜他是故意删除的。 *

    解决这个问题。不要将nginx文件修改放在.ebextensions下,而是将其放在.platform下。因此,在这种情况下,将文件放在:

    .platform/nginx/conf.d/proxy.conf

    内容...

    client_max_body_size 25M;

    就是这样。有效!顺便说一句,这在其他地方没有记录——或者至少我没有在任何地方看到它。我不确定为什么。最初的海报提到了新的 AWS api 版本之类的东西。也许这是新的。

    【讨论】:

    • 是的,我已经添加了所有详细信息的答案,但版主删除了它,没有任何 cmets。
    • 哦,哇。我想知道为什么?我在该答案中没有看到任何违规行为,是吗?
    • 我实际上在其他一些问题中回答了相同的答案。它违反了我认为的规则。我不能把那个帖子放在这里,因为那些最重要的答案不适用于 Elastic Beanstalk,而且开发人员很难找到我的答案。无论如何,我很高兴你得到了答案。
    • 嗯.. 我想知道什么是违反规则的。无论如何,谢谢。这是一个救生员。
    猜你喜欢
    • 2020-06-03
    • 2015-07-17
    • 2019-02-14
    • 2019-01-05
    • 2017-09-08
    • 2021-05-30
    • 2016-07-07
    • 2017-02-11
    • 2015-07-31
    相关资源
    最近更新 更多