Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/verma-kunal/aws-session
Deploying a Node Js Application on AWS EC2
https://github.com/verma-kunal/aws-session
aws-ec2 nodejs stripe-api
Last synced: 5 days ago
JSON representation
Deploying a Node Js Application on AWS EC2
- Host: GitHub
- URL: https://github.com/verma-kunal/aws-session
- Owner: verma-kunal
- License: mit
- Created: 2023-01-17T03:54:55.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-30T03:18:46.000Z (9 months ago)
- Last Synced: 2025-02-08T13:02:56.586Z (12 days ago)
- Topics: aws-ec2, nodejs, stripe-api
- Language: HTML
- Homepage:
- Size: 38 MB
- Stars: 199
- Watchers: 8
- Forks: 1,963
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Deploying a Node Js Application on AWS EC2
### Testing the project locally
1. Clone this project
```
git clone https://github.com/verma-kunal/AWS-Session.git
```
2. Setup the following environment variables - `(.env)` file
```
DOMAIN= ""
PORT=3000
STATIC_DIR="./client"PUBLISHABLE_KEY=""
SECRET_KEY=""
```
3. Initialise and start the project
```
npm install
npm run start
```### Set up an AWS EC2 instance
1. Create an IAM user & login to your AWS Console
- Access Type - Password
- Permissions - Admin
2. Create an EC2 instance
- Select an OS image - Ubuntu
- Create a new key pair & download `.pem` file
- Instance type - t2.micro
3. Connecting to the instance using ssh
```
ssh -i instance.pem ubunutu@
```### Configuring Ubuntu on remote VM
1. Updating the outdated packages and dependencies
```
sudo apt update
```
3. Install Git - [Guide by DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-22-04)
4. Configure Node.js and `npm` - [Guide by DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-22-04)### Deploying the project on AWS
1. Clone this project in the remote VM
```
git clone https://github.com/verma-kunal/AWS-Session.git
```
2. Setup the following environment variables - `(.env)` file
```
DOMAIN= ""
PORT=3000
STATIC_DIR="./client"PUBLISHABLE_KEY=""
SECRET_KEY=""
```
> For this project, we'll have to set up an [Elastic IP Address](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) for our EC2 & that would be our `DOMAIN`3. Initialise and start the project
```
npm install
npm run start
```> NOTE - We will have to edit the **inbound rules** in the security group of our EC2, in order to allow traffic from our particular port
### Project is deployed on AWS 🎉