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: about 5 hours 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 (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-19T23:28:08.000Z (almost 2 years ago)
- Last Synced: 2023-06-01T12:45:26.728Z (over 1 year ago)
- Topics: aws-ec2, nodejs, stripe-api
- Language: HTML
- Homepage:
- Size: 38 MB
- Stars: 21
- Watchers: 1
- Forks: 163
- Open Issues: 1
-
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 🎉