【问题标题】:EB not able to access file in .ebextensionsEB 无法访问 .ebextensions 中的文件
【发布时间】:2022-03-08 16:10:13
【问题描述】:

我的django.config 中有以下container_command 指向路径.ebextensions/supervise.sh 处的脚本:

container_commands:
  01-supervise:
    command: .ebextensions/supervise.sh

但是,当我部署时,我得到一个权限错误。 Command failed on instance. Return code: 126 Output: /bin/sh: .ebextensions/supervise.sh: Permission denied.

我想知道正确设置权限需要什么?是什么导致了这个错误?据我所知,这个问题没有得到很好的记录。谢谢!

【问题讨论】:

    标签: django amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    如果您使用的是 Windows,看起来脚本在打包/解包时会丢失其可执行位。

    在运行它们之前尝试重置可执行位:

    container_commands:
      01-set-exec-bit:
        command: chmod +x .ebextensions/deployschema.sh
        test: "[ -f .ebextensions/deployschema.sh ]"
      02-create-table:
        command: ".ebextensions/deployschema.sh"
        leader_only: true
    

    发件人:https://forums.aws.amazon.com/thread.jspa?threadID=262121

    【讨论】:

      【解决方案2】:

      首先不要把你的 .sh 文件放在 .ebextensions 文件夹中。在您的应用程序根目录中创建一个单独的文件夹并将其放在那里。并使用以下内容更新 .config 文件:

      container_commands:
        01-supervise:
          command: "sh scripts/supervise.sh"
      

      我知道我回答这个问题迟了,但希望这能帮助那些在这个问题上苦苦挣扎的人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-10
        • 2020-11-21
        • 2017-05-06
        • 2020-11-19
        • 2016-07-27
        • 2014-04-20
        • 2021-12-20
        相关资源
        最近更新 更多