【问题标题】:elastic beanstalk t2 服务器在哪里存储我的 node.js 应用程序文件?
【发布时间】:2015-03-30 11:30:50
【问题描述】:

从架构的角度来看,我试图更好地了解部署到 eb (t2) 服务器的文件的存储方式和位置。

我在 s3 中看到一些 .zip 文件,这些文件显示了我何时通过 eb 接口上传内容,但是这究竟是如何/在哪里最终到达我的 ec2(t2) 服务器上的?

【问题讨论】:

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


    【解决方案1】:

    在部署期间它位于/tmp/deployment/application 文件夹中,之后移动到/var/app/current

    如果您搜索它们,节点日志位于/var/log/nodejs/nodejs.log 中,无论您在控制台的环境变量中设置什么 PORT 环境变量,应用程序都会绑定到 8081

    【讨论】:

    • 我每次都使用 eb deploy 将我的更改上传到服务器文件代码。我可以直接更改 /var/app/current 目录吗?
    • 这违反了最佳实践@vgokul129。如果您必须登录到服务器进行更改,那么您并没有真正使用 eb 来简化部署。此外,eb 可以使用负载均衡器创建多个实例,因此在一个实例中更改某些内容不会在所有实例上都更改。
    • 这个目录位置应该确实在 AWS 文档中,据我所知,我在任何地方都没有找到它。
    • @XanT - 我刚刚在“volumes”下找到它docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
    • 注意这是/var/log/web.stdout.log for linux2
    【解决方案2】:

    2020 年 11 月节点应用程序(在我的例子中是 nuxt 应用程序)的最佳答案似乎仍在工作

    /var/app/current
    

    【讨论】:

    • 适用于 NodeJS,截至 2021 年 2 月 17 日为真
    【解决方案3】:

    作为更一般的答案(不是特定于 node.js),请在您的 Elastic Beanstalk 环境中检查 eb-engine.log

    日志在哪里?在您环境侧边栏中的 Elastic Beanstalk 在线界面中。

    ...
    2021/06/12 22:40:34.097454 [INFO] app source bundle is zip file ...
    2021/06/12 22:40:34.097460 [INFO] extracting /opt/elasticbeanstalk/deployment/app_source_bundle to /var/app/staging/
    2021/06/12 22:40:34.097470 [INFO] Running command /bin/sh -c /usr/bin/unzip -q -o /opt/elasticbeanstalk/deployment/app_source_bundle -d /var/app/staging/
    2021/06/12 22:40:34.138333 [INFO] finished extracting /opt/elasticbeanstalk/deployment/app_source_bundle to /var/app/staging/ successfully
    ...
    

    解读:

    1. app_source_bundle最初上传到/opt/elasticbeanstalk/deployment/
    2. app_source_bundle 被提取到 /var/app/staging/

    如果 Elastic Beanstalk 部署成功,您可以在 /var/app/current 中找到正在运行的应用程序代码(正如 Manuel 指出的那样)。

    【讨论】:

      【解决方案4】:

      /var/app/current 可能已过时。它在我的实例上不存在。
      正如I can't find my Web app when I SSH to my AWS Elastic Beanstalk instance 所说,对于python,应用程序位于/opt/python/bundle/2/app/
      否则使用find 搜索位置(查看链接)。

      【讨论】:

      • 有趣,想知道它是否在不同的地方用于 python 应用程序?因为我最初是在寻找 node.js 文件。
      • 您可能正在使用 Amazon Linux,其中此路径似乎是正确的。如果您使用的是 Amazon Linux 2,则接受的答案是正确的。
      • 对我来说是opt/python/bundle/*22*/app/
      猜你喜欢
      • 2013-07-14
      • 2015-12-13
      • 2019-08-04
      • 2018-06-27
      • 1970-01-01
      • 2015-06-05
      • 2017-05-30
      • 2014-09-29
      • 2016-10-15
      相关资源
      最近更新 更多