【问题标题】:How can I create a directory on elastic beanstalk after deploying?部署后如何在弹性 beantalk 上创建目录?
【发布时间】:2020-12-10 23:59:03
【问题描述】:

在将 .Net Core 项目部署到 Elastic beanstalk 上后,我无法为我的日志创建目录。环境是 windows server 2016。我的 .ebextensions/install.config 中有以下脚本:

  "container_commands": {
    "create_app_data_dir": {
      "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data"
    },
    "create_logs_dir": {
      "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs"
    },
    "set_iis_log_acl": {
      "command": "icacls \"C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs\" /grant \"IIS AppPool\\DefaultAppPool\":(OI)(CI)M",
      "ignoreErrors": true
    }
  }
}

我怀疑该目录可能正在创建,但随后又被覆盖。我也试过只用“commands”而不是“container_commands”。

【问题讨论】:

    标签: amazon-web-services asp.net-core amazon-elastic-beanstalk


    【解决方案1】:

    您可以在根文件夹中添加一个名为.platform 的文件夹。在.platform 文件夹中创建一个名为00_myconf.config 的文件,并在其中添加您的配置命令。

    请在下面找到文件夹结构。

    .platform/
             00_myconf.config
    

    00_myconf.config的内容

    "container_commands": {
        "create_app_data_dir": {
          "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data"
        },
        "create_logs_dir": {
          "command": "mkdir C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs"
        },
        "set_iis_log_acl": {
          "command": "icacls \"C:\\inetpub\\AspNetCoreWebApps\\CitilogikGatewayAdministration\\App_Data\\Logs\" /grant \"IIS AppPool\\DefaultAppPool\":(OI)(CI)M",
          "ignoreErrors": true
        }
      }
    }
    

    重新部署您的项目,Elasticbeanstalk 将在每次 Elasticbeanstalk 创建新实例时执行00_myconf.config 中的命令。

    【讨论】:

    • 感谢您的回答,但该脚本似乎没有运行
    • 请检查日志并跟踪实际发生的情况。
    猜你喜欢
    • 2012-08-24
    • 2015-04-30
    • 2016-11-20
    • 2016-10-11
    • 2013-03-24
    • 2017-12-18
    • 2019-04-14
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多