Where does elastic beanstalk t2 server store my node.js app files?
From an architecture perspective I'm trying to get a better understand of how and where files deployed to eb (t2) server are stored.
I see some .zip files in s3 that show when I upload something via the eb interface, though how/where exactly does this get end up on my ec2(t2) server?
It's in the /tmp/deployment/application
folder during deployment and the moved to /var/app/current
afterward.
In case you search them, the node logs are in /var/log/nodejs/nodejs.log
and the application will bind to 8081
no matter what PORT environment variable you set in the Environment Variables in the console.
The top answer seems to be still working in November of 2020 for node app (nuxt app in my case)
/var/app/current
As a more general answer (not node.js-specific), check eb-engine.log
from your Elastic Beanstalk environment.
Where are the logs? In Elastic Beanstalk's online interface in the sidebar of your environment.
...
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
...
Interpretation:
-
app_source_bundle
was uploaded to/opt/elasticbeanstalk/deployment/
initially -
app_source_bundle
was extracted to/var/app/staging/
If Elastic Beanstalk deployment is successful, you can find the running app's code in /var/app/current
(as Manuel pointed out).
/var/app/current
may be outdated. It doesn't exist on my instance.
As said there I can't find my Web app when I SSH to my AWS Elastic Beanstalk instance, for python the app is in /opt/python/bundle/2/app/
Otherwise use find
to search for the location (look at the link).