Skip to content

Instantly share code, notes, and snippets.

@sagar285
Last active June 15, 2025 17:22
Show Gist options
  • Save sagar285/3f7542d13606dee3b525e3315b46d453 to your computer and use it in GitHub Desktop.
Save sagar285/3f7542d13606dee3b525e3315b46d453 to your computer and use it in GitHub Desktop.
aws deployment on instanc
Steps to deploy a Node.js app to aws using PM2, NGINX as a reverse proxy and an SSL from LetsEncrypt
## 1. Create Free AWS Account
Create free AWS Account at https://aws.amazon.com/
## 2. Create and Lauch an EC2 instance and SSH into machine
I would be creating a t2.medium ubuntu machine for this demo.
## 3. Install Node and NPM
```
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs
node --version
git clone project from your repo
## 5. Install dependencies and test app
```
sudo npm i pm2 -g
pm2 start index
## 7. Install NGINX and configure
```
sudo apt install nginx
sudo vim /etc/nginx/sites-available/default
server_name yourdomain.com ;
location / {
proxy_pass http://localhost:5000; #whatever port your app runs on
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# Check NGINX config
sudo nginx -t
# Restart NGINX
sudo nginx -s reload
## 8. Add SSL with LetsEncrypt
```
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
@Sonu08122000
Copy link

It's very helpful and please create build deployed

@muhammadjunaid8047
Copy link

very helpful

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment