Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular Universal - Deploying to AWS Elastic Beanstalk

I have been trying and failing for over three days now to get this working, and am growing increasingly frustrated with my own lack of understanding on the topic - so this is my search for an answer that I've not yet found.

I am using Angular 9.x and Angular Universal 9.x and am unable to work out how to deploy this to Elastic Beanstalk on a server running node. There are zero tutorials that explain how this should be done, as they are all aimed at those wanting to use Lambda on AWS. If someone could please point me in the right direction that would be great. I run npm run build:ssr --prod, and get the following in my dist folder:

[Dist folder[1]

I have tried deploying this folder by uploading it zipped, as well as tried eb deploy with my whole app - but all of these result in errors like the following (for eb deploy method)

> [email protected] start /var/app/current
> ng serve

sh: ng: command not found

Could someone please point me in the correct direction?

like image 837
Simon Sebastian Vollmer Avatar asked Jan 23 '26 01:01

Simon Sebastian Vollmer


1 Answers

I struggled for months too because of the lack of tutorials online on how to deploy Angular Universal to AWS Elastic Beanstalk. And you will now be very happy to know how easy it is.

First, run the command npm run build:ssr to build for production.

Inside the dist folder, you will probably find a folder with your project name. Inside this folder you will find a "browser" folder and a "server" folder. Inside the "server" folder it is the main.js file.

Your setup might be slightly different, but you will be able to adjust this explanation to your situation after you read my entire answer.

Zip the dist folder.

Let's now configure the environment in AWS Elastic Beanstalk.

1) When you create an environment in Elastic Beanstalk, choose "Web server environment", and then on Platform branch config, choose the last option: "Node.js running on 64bit Amazon Linux". This is a very important step, since this is the only option that will enable you to configure the Container Options.

2) On the Application code, choose "Upload your code" and upload your zip file.

3) Click on Configure more options

4) Click on the Edit button on the Software box.

5) On the Node command field,type node dist/yourProjectFolderName/server/main.js

That's it!! Save and create your environment. Your app will work now. :-)

like image 101
Leon Grin Avatar answered Jan 25 '26 16:01

Leon Grin



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!