Це відео не доступне.
Перепрошуємо.

Deploying Full Stack App onto Ubuntu/AWS: Postgres, Express, React, Node + SSL Let's Encrypt

Поділитися
Вставка
  • Опубліковано 15 сер 2024
  • In this video I'm going I'll cover how to deploy a full stack app onto an Ubuntu VM running on AWS. We'll be deploying an app that runs on the Pern stack(postgres, express, React, node). The example project that will be deployed will be the one that is covered in the following tutorial:
    • PERN Stack Mega Course...
    We will be using Nginx to serve our app and make use of Let's encrypt for SSL.
    Git Repo:
    github.com/San...
    Subscribe to my Channel:
    / @sanjeevthiyagarajan
    / sanjeev_tea
    / sanjeev_tea
    Timestamps:
    00:00 intro
    07:59 Code modification
    14:35 Deploy EC2 Instance
    18:22 SSH to EC2 Instance
    20:27 Install Postgres
    32:00 Cloning Postgres database
    40:39 Cloning git Repo
    42:43 Install Node & PM2
    52:27 Build React App
    54:07 Install Nginx
    55:15 Configure Nginx
    01:14:38 Registering Domain
    01:19:08 Setting Environment variables
    01:30:14 Configure Ubuntu Firewall
    01:32:48 Configuring SSL with Let's Encrypt
    01:39:14 Fixing database issues

КОМЕНТАРІ • 132

  • @lunardesigner6779
    @lunardesigner6779 15 днів тому

    Hey man, just want to say your video is awesome and clear. It's like a hidden gem. I wish many people would see this. Thanks man.

  • @productmeow
    @productmeow Рік тому +8

    If you see "Forbidden 403" after setting up your nginx
    You need to do the following
    - sudo vim ~/etc/nginx/nginx.config
    - Comment out the first line "user www-data"
    - Add a new line directly below the commented out line with this content "user ubuntu;" (without the double quotes)
    - Run command: sudo systemctl restart nginx
    - You can now view your site
    Reference timestamp: 1:04:41

    • @tylergreen6453
      @tylergreen6453 Рік тому

      THANK YOU

    • @adelalqaabi4642
      @adelalqaabi4642 Рік тому

      I'm getting 405 when i try to login in my React app
      {message: 'Request failed with status code 405', name: 'AxiosError', code: 'ERR_BAD_REQUEST', config: {…}, request: XMLHttpRequest, …}

    • @steven2633
      @steven2633 Рік тому

      Thanks so much, this helped me in my last steps of debugging.

    • @anusree2347
      @anusree2347 10 місяців тому

      Thank you so much! It solved the 500 Internal Server Error also

    • @user-cc7rg1bv8i
      @user-cc7rg1bv8i 2 місяці тому +1

      Bro you are saviour.

  • @productmeow
    @productmeow Рік тому +2

    If you see "Permissions 0644 for '' are too open." when trying to SSH using the pem file
    Run this command: chmod 400
    Reference timeline: 20:09

  • @fredericolivier7896
    @fredericolivier7896 3 роки тому +6

    You need a Patreon account man. I got to support you with this. Lifesaver man.

    • @SanjeevThiyagarajan
      @SanjeevThiyagarajan  3 роки тому +3

      Lol technically I do have one. I just have no idea what kind of content to put up on there

    • @fredericolivier7896
      @fredericolivier7896 3 роки тому +1

      @@SanjeevThiyagarajan well let me know man that was some great stuff.

    • @rebeccaindy
      @rebeccaindy 3 роки тому

      Same

  • @sanzaydahal6760
    @sanzaydahal6760 3 роки тому +18

    Hi Sanjeev Thanks for this awesome content. However, this doesn't seems to be a complete/comprehensive deployment tutorial. Can you please include general upgrading strategy? Like creating CI/CD Pipeline.....

  • @abdulibrahim6035
    @abdulibrahim6035 2 роки тому +2

    This is the best and most comprehensive video on AWS deployment I've ever seen! Thank you! Subscribed!

  • @Anarchy_OW
    @Anarchy_OW Рік тому +3

    I can't thank you enough for this, honestly. Just thank you so much.

    • @kvtys
      @kvtys Рік тому

      LITERALLY. You are incredible man. Life saver and a half.

  • @mirsha3054
    @mirsha3054 3 роки тому +7

    Man, I wanna thank you one million, this is solid content. You really have quality implementation. I have watched All and learn a lot from you :)

    • @nameless_9504
      @nameless_9504 3 роки тому

      Yep that's true !!

    • @ayencoscolfield3312
      @ayencoscolfield3312 2 роки тому

      you are correct on that have been blessed a lot through his videos trainings

  • @soultouchingsongs
    @soultouchingsongs 3 роки тому +4

    Thank you so much Sanjeev 🙏. The best deployment tutorial I have ever seen on UA-cam👍

  • @Avocado.777
    @Avocado.777 Рік тому +2

    Sanjeev, I am immensely grateful for your effort in creating this masterpiece. I truly hope your journey reaches even greater heights; you have a great potential within you. Thanks.

  • @rangabharath4253
    @rangabharath4253 3 роки тому +36

    Please make the deployment using docker or kubernetes :)

  • @Joa764
    @Joa764 3 роки тому +3

    One of the best channels out there! The video descriptions are priceless hahahaha Keep it up man, you're doing awesome work! More subs will come.

  • @tarnum113
    @tarnum113 2 роки тому +1

    One of the best tutorials ever! Thank you! Just deployed my first ever website!

  • @jamesikubi6831
    @jamesikubi6831 2 роки тому +1

    This is one of the most informative videos I've ever watched. Thanks so much Sanjeev.

  • @user-ps5bu9bd4q
    @user-ps5bu9bd4q 2 роки тому +1

    Best recorded tutorial I've ever seen. You are the best, thank you!

  • @raafi101
    @raafi101 3 роки тому

    Thank you sooooo much for this. I was stuck trying to deploy my PERN app for days and then I found this video.

  • @emiliorojas583
    @emiliorojas583 2 роки тому

    man, you can't imagine how grateful i am.
    your video was the light i was looking for so long
    i appreciate so much. your content quality is definitely godlike

  • @friendlyreviewer840
    @friendlyreviewer840 Рік тому

    OMG i was so stuck. Your tutorial fixed a problem ive been working on for a week. Thankyou so much!!

  • @tulsicreation2026
    @tulsicreation2026 2 роки тому

    One of best video and documentation for fullstack project deployment on AWS, i follow all instruction explain by sanjeev and it works, i learn lot. thank for sharing this supperb knowledge.

  • @TheInphinion
    @TheInphinion 3 роки тому +1

    Thank you so much for creating this video. I loved the first part with the Yelp Clone and learned so much.

  • @toshvelaga
    @toshvelaga 2 роки тому

    This is one of the most useful dev videos i keep coming back to

  • @nevergo9884
    @nevergo9884 Рік тому +1

    This is the greatest tutorial I ever seen. Thank you so much for your time and help!

  • @Vasko10100
    @Vasko10100 3 роки тому +2

    I'm begging you, please make a PAID course on React, Node, PostGres, Docker, AWS etc etc.
    I will repeat once again: This is pure GOLD! I want to give you money man! Please make a full paid course!

    • @severalpens
      @severalpens 3 роки тому +1

      Seconded. I can't believe how ridiculously hard this task was. I was starting to look like a real idiot promising something I couldn't do. This tutorial saved me.

  • @h.m.zakariasumon1644
    @h.m.zakariasumon1644 Рік тому

    This video is very useful for us who are self-learning. Thanks for this awesome video.

  • @nationbuilding5319
    @nationbuilding5319 2 роки тому

    as always your videos are excellent!! Thanks for the knowledge

  • @farrukhatabekov595
    @farrukhatabekov595 3 роки тому

    Thank you very much for such a golden resource ! All the best .

  • @randomcell708
    @randomcell708 3 роки тому +4

    Great tutorial, consise and clear. Would you be able to expand on this to show how to deploy this app using the AWS pipeline?

  • @dinindukanchana8554
    @dinindukanchana8554 3 роки тому

    This is really informative. You saved a lot of my time. Thank you very much.

  • @topleetcoder8610
    @topleetcoder8610 3 роки тому +1

    Incredible tutorial! Thank you so much :)

  • @productmeow
    @productmeow Рік тому

    For your new domain, make sure you setup the A record and CNAME record.
    A record
    - Host: @
    - Value:
    C Name
    - Host: www
    - Value:

  • @mreddygi
    @mreddygi 4 місяці тому

    thank you for this sir, it helped me a lot.

  • @wlcheng
    @wlcheng 3 роки тому

    Thank you so much for your tutorial. Learned so much!

  • @411sev
    @411sev Рік тому

    Thank you. That's the tutorial I was looking for. But I couldn't ssh into my ec2.

  • @jaburu01
    @jaburu01 3 роки тому +1

    This tutorial is just amazing!

  • @austinlee_inc
    @austinlee_inc Рік тому +2

    Hi Sanjeev, amazing walkthrough - for some reason after I update the server block file in my nginx, instead of seeing my website, I get a 500 internal service error. Checking my error logs it seems to say the build failed/failed 13: permission Denied... do you know what could be the issue with my deployment?

    • @brianma875
      @brianma875 10 місяців тому

      Got the same error. Could you tell me how did you fixed it?

    • @anusree2347
      @anusree2347 10 місяців тому

      ​@@brianma875
      As mentioned by @productmeow,
      You need to do the following
      - sudo vim ~/etc/nginx/nginx.config
      - Comment out the first line "user www-data"
      - Add a new line directly below the commented out line with this content "user ubuntu;" (without the double quotes)
      - Run command: sudo systemctl restart nginx
      - You can now view your site

  • @saint1yusuf
    @saint1yusuf 2 роки тому +1

    58:20 I can't see this page. Where is the problem? I couldn't solve this problem for a week!

  • @abrahammolina4012
    @abrahammolina4012 8 місяців тому +1

    hola alguien sabe de donde sale el .pem necesito ayuda

  • @TheInphinion
    @TheInphinion 3 роки тому +4

    Deploy with docker on aws please.

  • @TheRastishopper
    @TheRastishopper 9 місяців тому

    For those struggling in the end:
    1. Make sure node modules are audited,
    2. If your website is displaying, but without anything from the database, make sure that pm2 has your environment variables. I had to update pm2 and then delete and start the pm2 app again.

    • @logeshs5412
      @logeshs5412 8 місяців тому

      how to do it pm2 thing?

    • @logeshs5412
      @logeshs5412 8 місяців тому

      whether it is enough to restart pm2?

  • @kvtys
    @kvtys Рік тому

    I hope you get the nobel peace prize for this

  • @XiagraBalls
    @XiagraBalls 2 роки тому

    This was long, but well worth it. 👍🏻

  • @ThenavigoCreators
    @ThenavigoCreators 2 роки тому

    Great tutorial, very useful. Thanks

  • @nohelia6843
    @nohelia6843 8 місяців тому

    how to configure pg admin in ubuntu server to continue updating db?

  • @HIghtowerSever
    @HIghtowerSever 3 роки тому

    It's a great tutorial. Thanks a lot!

  • @dawoodvaleed5848
    @dawoodvaleed5848 3 роки тому

    Great video, really appreciate the help

  • @satishlute9376
    @satishlute9376 Рік тому

    ❤❤ , ur very fantastic teacher..

  • @chiragagrawal6205
    @chiragagrawal6205 2 місяці тому

    How was your backend server running even before setting the env variables , how it got connected to db without credentials ?

  • @Deepak-tx3rw
    @Deepak-tx3rw Рік тому

    i need urgent help to deploy PERN stack on hostinger Ubuntu server or Windows VPS, Please help me

  • @adesojialu1051
    @adesojialu1051 7 місяців тому

    my postgres database exists on aws instance already, what do i do?

  • @anandhukraju8044
    @anandhukraju8044 3 роки тому

    Can you make a video on some of the next steps like securing the DB and stuff like you mentioned towards the end of the video? Thanks for this thoh! :)

  • @samuelbebas6381
    @samuelbebas6381 2 роки тому

    Hi everyone, i got a little problem.
    Everything when fine, the problem is axios response data returning html instead of object/json, any idea what cause it? Thanks a lot

  • @smarttech743
    @smarttech743 2 роки тому

    How can I connect RDS postgres db to your nodejs app when I don't want to install postgress on virtual machine.

  • @Mates087
    @Mates087 3 роки тому

    it is very useful, thank you!

  • @mcm0125
    @mcm0125 Рік тому +1

    For people stuck at the end with RestaurantDetail pages not rendering, change the prod. path at 14:17 from "api/v1/restaurants" to "/api/v1/restaurants" . Adding the "/" before api fixed my app. Push the changes, then pull them to your ubuntu copy and rebuild.

    • @Droodt
      @Droodt 5 місяців тому +1

      Thank you, was wondering for hours why it wasn't working

  • @jackpetersen8990
    @jackpetersen8990 Рік тому

    You are a golden god.

  • @user-ij5tq6sp2x
    @user-ij5tq6sp2x 2 роки тому

    After encrypting I ran into a really frustrating problem. My site was loading but not the database. And it wasn't like yours ( I didn't use env variables like that). When I checked the network I could see that all my api calls were getting blocked with the message 'blocked: mixed content'. Please help

  • @BGPNetworks
    @BGPNetworks 3 роки тому

    Dude!! great explanation.. Must have missed something but which development server we're talking abt for the pg_dump?

  • @nevendrean5772
    @nevendrean5772 3 роки тому +1

    solid, clean, detailled ***

  • @ernestkumm6825
    @ernestkumm6825 6 місяців тому

    hi Sanjeev, once again great video thanks man.... I have tried multiple angles on a poitn I got stuck at, can you please guide me
    Error: Cannot find module './out/index'
    I get this error when running "npm run build" on client directory, the build directory does not get build, I installed Node.js v21.6.2

  • @zachsanchez1644
    @zachsanchez1644 3 роки тому

    ran into an error around 1:00:00 , very clear and concise - app was fully functional - didn't get any errors from part one or this part until now /: I sent you a twitter dm if you don't mind helping me out

    • @zachsanchez1644
      @zachsanchez1644 3 роки тому

      wanted to apologize as it was my fault! i was deploying on digital ocean instead of AWS and skipped over adding HTTP/HTTPS to my inbound rules - as well as had to update directory rules because i used the root user instead of ssh access !

  • @zscoder
    @zscoder 2 роки тому

    Enjoyed this cheers

  • @internetexplorer7880
    @internetexplorer7880 2 роки тому

    Thank you for your videos, can you make a tutorial to deploy a multi container project into heroku

  • @jayprmedia
    @jayprmedia 3 роки тому

    Can you please make a tutorial with Next js instead of React? I would like to use Next js for better SEO. It would be really great !

  • @bot74774
    @bot74774 Рік тому

    Would you make some tutorials that when you make some updates on your codes, nginx will auto update the code?

  • @ajayb8730
    @ajayb8730 3 роки тому

    bro i need your help to config the server.js file for ec2 deployment and I couldn't connect the pd db with my server.js. how can I reach you out to solve this problem? help me out please

  • @Sanyat100
    @Sanyat100 3 роки тому

    You the man !!

  • @hieubuict96
    @hieubuict96 2 роки тому

    the text editor you are using in the video above is beautiful, can you tell me what it is? thanks

  • @oscarfelix7244
    @oscarfelix7244 Рік тому

    Bro! Thank You 🙏🏼

  • @karimdakroury4977
    @karimdakroury4977 3 роки тому

    Hey, i have a couple of questions if you can please help me out. Should i use pg dump or create an RDS on AWS?

  • @buka.a
    @buka.a 2 роки тому

    This is beautiful

  • @darkarie
    @darkarie 3 роки тому

    BIG THANK YOU!!!!!!!!!!

  • @logan0501
    @logan0501 2 роки тому +1

    What pem file bro

  • @hanif3661
    @hanif3661 Рік тому

    thanks a lot.

  • @blackraven6049
    @blackraven6049 2 роки тому

    Am I going to get charged for deploying it on EC2? Can I do Lambda instead?

  • @programmer9809
    @programmer9809 3 місяці тому +1

    👍

  • @joydeepbhattacharjee5305
    @joydeepbhattacharjee5305 2 роки тому

    Thanks man

  • @stoicpoetrywisdom
    @stoicpoetrywisdom Рік тому

    How much would it cost to deploy this to AWS ?

  • @ashutoshpanda4336
    @ashutoshpanda4336 3 роки тому

    Great video but in all production front-end app on S3 with domain and the backend on EC2 with creating a subdomain... Can you please do that

    • @SanjeevThiyagarajan
      @SanjeevThiyagarajan  3 роки тому +1

      Yeah I can do that. I'll try to get something up in the next couple of weeks

    • @ashutoshpanda4336
      @ashutoshpanda4336 3 роки тому

      Thank you so much... I'm struggling with this... Waiting for the video... Thank you ☺️

  • @DuyTran-ss4lu
    @DuyTran-ss4lu 3 роки тому

    Awesome

  • @mohamedyoussef8835
    @mohamedyoussef8835 Рік тому

    Awesome video ++++++++++++++++++ 🙂

  • @nameless_9504
    @nameless_9504 3 роки тому +1

    Bro please connect database to RDS please it will be more helpful

    • @SanjeevThiyagarajan
      @SanjeevThiyagarajan  3 роки тому +2

      dam i was thinking about doing that for the video, but i figured more people would want be interested in deploying to a single VM. That way they can use the same steps on a digital ocean droplet. I'll definately be making more deployment tutorials in the future and will have rds involved

    • @nameless_9504
      @nameless_9504 3 роки тому

      @@SanjeevThiyagarajan thank you brother. Please involve RDS and btw your creating a great content 👍

  • @rangabharath4253
    @rangabharath4253 3 роки тому

    awesome

  • @izaiasaraujogomesdasilva3354
    @izaiasaraujogomesdasilva3354 3 роки тому

    Please make the deployment using docker or kubernetes²

    • @SanjeevThiyagarajan
      @SanjeevThiyagarajan  3 роки тому

      Just dropped a video on docker an how to deploy using docker. We won't be deploying pern stack specifically, but it goes over the core concepts

  • @dan6054
    @dan6054 3 роки тому

    1:35:24 "No don't send me email"
    LEGEND

  • @broccool2300
    @broccool2300 3 роки тому

    I tried to log in on the terminal with ssh like you showed and I got denied with warning "WARNING: UNPROTECTED PRIVATE KEY FILE!" Permission for ....pem' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.

  • @Orion52441
    @Orion52441 2 роки тому

    thanks

  • @Friis1978
    @Friis1978 3 роки тому

    Hi Sanjeev, I havent done your other tutorial where you made the db, could you perhaps provide a sql file with the database for us to be able to make the database dumb in the video?

    • @SanjeevThiyagarajan
      @SanjeevThiyagarajan  3 роки тому

      Yeah let me grab that for you and upload it to the github page

    • @Friis1978
      @Friis1978 3 роки тому

      @@SanjeevThiyagarajan great, thank you very much.

    • @tjisanakerr711
      @tjisanakerr711 2 роки тому

      @@SanjeevThiyagarajan Did you ever upload this? I can't find it on the github repo. Thanks

  • @SH-lt2iv
    @SH-lt2iv 3 роки тому

    MERN project next please.

  • @faithfulojebiyi
    @faithfulojebiyi 3 роки тому

    What if the github repo is private? would you still be able to clone it directly

    • @SanjeevThiyagarajan
      @SanjeevThiyagarajan  3 роки тому

      yes, when you run the clone command it will prompt you for username and password

    • @faithfulojebiyi
      @faithfulojebiyi 3 роки тому

      @@SanjeevThiyagarajan would it request for password during subsequent pull requests?

  • @robertoherman7504
    @robertoherman7504 3 роки тому

    Why do we need NGINX when we can already server the build/index.html file using Express and put "proxy": "localhost:3001" in the client side's package.json? Using nginx seems pointless to me within the scope of this tech stack. What am I missing?

  • @greykor140
    @greykor140 3 роки тому

    Does deploying something like this cost money?