elastic beanstalk t2服务器在哪里存储我的node.js应用程序文件?

elastic beanstalk t2服务器在哪里存储我的node.js应用程序文件?,node.js,amazon-ec2,amazon-elastic-beanstalk,Node.js,Amazon Ec2,Amazon Elastic Beanstalk,从体系结构的角度来看,我试图更好地了解部署到eb(t2)服务器的文件是如何存储的以及存储在何处的 我在s3中看到了一些.zip文件,这些文件显示了我通过eb接口上传的内容,但这些文件最终是如何/在我的ec2(t2)服务器上完成的?它在部署期间位于/tmp/deployment/application文件夹中,之后移动到/var/app/current 如果搜索它们,则节点日志位于/var/log/nodejs/nodejs.log中,并且应用程序将绑定到8081,无论您在控制台的环境变量中设置了

从体系结构的角度来看,我试图更好地了解部署到eb(t2)服务器的文件是如何存储的以及存储在何处的


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

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


如果搜索它们,则节点日志位于
/var/log/nodejs/nodejs.log
中,并且应用程序将绑定到
8081
,无论您在控制台的环境变量中设置了什么端口环境变量。

/var/app/current
可能已过时。它在我的实例上不存在。
如上所述,对于python,应用程序位于
/opt/python/bundle/2/app/


否则,使用
find
搜索位置(查看链接)。

对于节点应用程序(我的例子是nuxt应用程序),最重要的答案似乎在2020年11月仍然有效

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

...
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
...
日志在哪里?在环境侧栏的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
...
解释:

  • app\u source\u bundle
    最初被上传到
    /opt/elasticbeanstalk/deployment/
  • app\u source\u bundle
    已提取到
    /var/app/staging/

  • 我每次都使用eb deploy将更改上载到服务器文件代码。我可以直接更改/var/app/current目录吗?这违反了@vgokul129的最佳实践。若您必须登录到服务器进行更改,那个么您并没有真正使用eb进行优化部署。此外,eb可以使用负载平衡器创建多个实例,因此在一个实例中更改某些内容不会在所有实例上更改。这个目录位置应该在AWS文档中,据我所知,我在任何地方都没有找到。@XanT-我只是在“卷”下找到它,想知道python应用程序是否位于不同的位置?正如我最初查找node.js文件一样,您可能正在使用Amazon Linux,该路径似乎是正确的。如果您使用的是Amazon Linux 2,那么公认的答案是正确的。对于我来说,从2021年2月17日起,NodeJS的答案是
    opt/python/bundle/*22*/app/
    true