How to Deploy Flask with Gunicorn and Nginx (on Ubuntu)

Поділитися
Вставка
  • Опубліковано 11 гру 2024

КОМЕНТАРІ • 104

  • @QualtarVideo
    @QualtarVideo Рік тому +21

    Tony, I've been trying to get something like this working for about 2 week though it feels like a century. I must have seen 30 'How to' videos. Your video is the only one that actually works. I'm so happy I found your tutorials.

  • @shaun8626
    @shaun8626 3 дні тому

    Awesome. Completely new to Linux/Flask/Nginx world. This is the first video came when searched and boom..!|
    Everything is working like a charm. Even after 2 years from publishing the video, still relevant in Dec 2024.
    Thanks for the awesome work.!

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

    I missed that introduction so much in many of the previous tutorials i watched. Simple ,clear and very useful in order to understand the whole thing.

  • @writart3723
    @writart3723 2 місяці тому +1

    This video of yours has become a scripture or a handbook for me. I use Contabo and every time I have to host a flask website this video of yours helps me out. Heartfelt gratitude sir.

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

      I'm happy to hear you're getting so much value from it :)

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

    bro literally saved me with a 1 year old video. I had been stuck on the permission error for 3 hours trying everything to figure out what was the issue. Thank you for your video, you saved me with a one liner. I love you.

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

    I like how those Flask tutorials are short but still comprehensive enough - good job!

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

    This is by far the best video out there to show how to deploy a Flask app!
    Tony you are the GOAT man
    Respect

  • @hirokisaito-b6n
    @hirokisaito-b6n Рік тому +4

    Thank you!
    There are no tutorial videos like yours in Japan.
    I was in trouble.
    However, I was able to solve some problems by watching your video.
    thank you!

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

    Thank you so much for this video. After many hours and many not working tutorials (at least for me) this one DID work :-)

  • @MauricioAB-bf3hj
    @MauricioAB-bf3hj 10 днів тому

    Very good tutorial. Thanks Tony!

  • @teclote
    @teclote 11 місяців тому

    Outstanding video, got mine working fine. Straight and to the point, only the essentials. Thanks very much.

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

    this video was incredibly helpful! explained well, thanks a lot!! hosted my first web server with this

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

    This has been so helpful to me. I am deeply grateful.
    God bless you abundantly indeed.

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

    Thank you very much! Very informative yet concise and clean explanation! Hope you make next video about how to containerize this app using docker😇

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

    Bro, that was extremely well explained

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

    This is super duper amazing. Couldn't have been better. Thanks alot

  • @ukemeedet8675
    @ukemeedet8675 5 місяців тому

    This was actually very helpful, thanks :)

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

    Health to you! Many thanks for your video!!!

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

    8:45 can someone explain why are we binding gunicorn to socket instead of address?

    • @verainsardana
      @verainsardana 11 місяців тому

      I found the reason, it is because socket is much faster and more secure. Hope this helps

    • @sneaksneak6522
      @sneaksneak6522 11 місяців тому

      Thank you for updating us. Would you be able to clarify, is the socket made implicitly when creating the service file? @@verainsardana

    • @verainsardana
      @verainsardana 11 місяців тому

      @@sneaksneak6522 the socket is created when the service is in running state

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

    Would have taken me several hours at minimum without your help Tony!

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

    Thanks Tony this tutorial help me a lot

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

    Really helpful, thanks Tony

  • @BisquiOne
    @BisquiOne 5 місяців тому

    tony voce e um anjo kkkkkkkkkkkkkk thankyou for help me apreciate man

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

    hai, Tony thanks for your videos. but I want to ask how to change the website after deployment? I've struggling with it.

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

    🙌 This was so helpful!

  • @WaldoTheWombat
    @WaldoTheWombat 10 місяців тому +1

    does anyone know how to deploy a flask app that uses web sockets? because I just finished deploying my app watching a deployment tutorial by Tech with Tim, but it seems that the sockets don't work there:
    'Cannot obtain socket from WSGI environment.'

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

    If I am setting this up all on a local device how can I get flask to host my public ip and not my local ip???

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

    your fan really djs in the background

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

    Thank you very much for the video ❤❤❤

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

    thanks mate,, I am subscribing now.

  • @olaoka-ih9ej
    @olaoka-ih9ej Рік тому +1

    I am using a centOS system and it gives me a permissions error when I want to run the peak service I checked if my user has the necessary permissions and the group it belongs to and it keeps giving me the same permission denied error

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

    Thank you, very well explained!

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

    You are a pro bro. Thanks

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

    THANK Y(OU
    HOURS AND HOURS I NEEDED THIS

  • @Oellie
    @Oellie Місяць тому

    Hello @Tony, great tutorial. I 've a quick question: How do I deploy app changes without restarting the server?
    Kind regards, Maik

  • @user-zp5gn8tl9r
    @user-zp5gn8tl9r Рік тому +1

    the github page does not contain the service code

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

    Really helpful, thank you!

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

    After permissions given, I still get 502 Gateway error.

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

      Try this ua-cam.com/video/hYVriHb43wU/v-deo.html

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

      @@TonyTeachesTech That is for PHP

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

      Add these 2 lines under "location" , right below "proxy_pass..." in your /etc/nginx/sites-available/file
      .conf:
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      That did it for me.
      Don't forget to stop nginx before, and after you edit the file, remove the symbolic link under /etc/nginx/sites-enabled/ and create it again from /etc/nginx/sites-available/yourfile.conf

  • @JOHNSMITH-sj3lg
    @JOHNSMITH-sj3lg Рік тому +2

    i follow ur tutorial now 2 times but every time after i setup nginx as proxy i only get the welcome site from nginx but not my flask app do u have a idea why this is?

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

      The same problem! Did you solve it?

    • @JOHNSMITH-sj3lg
      @JOHNSMITH-sj3lg 9 місяців тому

      @@bosmach nah bro

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

    Thanks for making the tutorial. Could you please share the link to part 1?

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

    the peak.sock file has to be in the directory app?

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

    where is the sock file?? Did he create?

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

    How do you do your video backgrounds? I can't figure it out! 😅

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

    Is it needed or asviable to remove root permission granted to the created User once the Website is published?

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

    What do I do in the /etc/nginx/nginx.conf? How do I make nginx read those sites-available config files?

  • @NikKimp-f3d
    @NikKimp-f3d 4 місяці тому

    what if i have ssl on my server, am i need write a bit different nginx conf file? mb someone have any guide regarding this

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

    Nice, thank you!

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

    Michiel Huisman is now into IT?

  • @mimahmed95
    @mimahmed95 21 день тому

    Awesome.

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

    Cool, how to configure static files?

  • @fullstackoverflow-ct3bz
    @fullstackoverflow-ct3bz Рік тому

    I have set guncorn with certificate and key to make it https. but after running gunicron the API cannot be accessed. is there any reference for gunicorn https?

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

    This is nice and teaching me a lot, thx! Your content is awesome, complete and straight to the point. But at the last minute I had an OCD attack triggered by the chmod 775, the sysadmin in me would have chown the sock file to the www-data user. Would it really have been safer to do so or is it just a stupid quirk of mine?

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

      if a tutorial contains only positive responses, like this one then you can assume that the author deletes critical hints. Like this one that has 2 errors in it. My comment got deleted.

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

    How can I update the app after deployment? I have modified the Python code, but I am unsure of the steps required to make the updated version go live.
    Thank you for this video. It is really amazing, bro!

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

    Thanks!

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

    How to do it on Amazon Linux 2 ?

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

    Fabulous presentation, thank you.

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

    Thank you

  • @abdulraufal-hassan5033
    @abdulraufal-hassan5033 Рік тому

    Bravo!!

  • @kylec.5476
    @kylec.5476 7 місяців тому

    Better than chatGPT!

  • @leocosta1009
    @leocosta1009 11 місяців тому

    ja fiz o flask bro obg

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

    How to solve error g unicorn not working on port 5000 its showing me error that port 5000 already in use

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

      Check if you already have gunicorn running
      > ps aux | grep gunicorn
      Then kill the old process
      > kill

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

      @@miguellaversa argh I wanted to answer this and then I saw you already did, and correctly, this is honestly infuriating, how dare you.
      JK thanks for helping out people that want to learn things on the internet

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

      @@miguellaversa no but really you spoiled my joy

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

      @@miguellaversa like, one thing I know, I wanted to say it, and you just go and answer it. >:(

  • @mktfasshwetasoftware3343
    @mktfasshwetasoftware3343 11 місяців тому

    really excellent

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

    i use the same 4k LG screen

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

    I wish someone would have told me when I was learning Flask to learn Django instead.

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

      Why do you think Django is better then Flask based on your experience?

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

      @@shizhouliu8912 You always hear that Flask is "easier to get started with." This may be true if you're doing a one page website. However, Django isn't all that much harder and it has built-in security, a built-in admin interface, etc. In Flask I kept having to tack new things on that were already incorporated into Django. This quickly begins to get messy and time consuming.

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

      @@GiantsOnTheHorizon Good to know. Thanks

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

      @@GiantsOnTheHorizon it´s a matter of phylosophy, Django is heavier, Flask is more modular, it´s like saying oh wow, I wish I knew about Debian instead of using Arch, Debian has it all and with Arch I have to add all of the kernel modules one by one. None is better than the other IMHO, what´s important is to know that both exist and what each can give you.
      Django is modular too depending on what you mean by it. I hope what I said makes sense to you.

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

      @@WillYouVid Sure. I guess my main point was that it takes longer to have to figure out which modules to add on vs having the batteries included. Especially if you’re just starting out.

  • @impyrobot
    @impyrobot Рік тому +7

    2023 and you dont have timestamps in the description or provide the config you copy pasted in the description because its not on the github link

  • @Dragonoid_369_4
    @Dragonoid_369_4 5 місяців тому

    Мозг плавится

  • @jomary00
    @jomary00 5 місяців тому

    What could be the problem with this error "197043#0: *5 open() "/usr/share/nginx/html/webhook" failed (2: No such file or directory),"

  • @tanact0590
    @tanact0590 8 місяців тому +2

    People, help me pls
    What is peak.sock?

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

    will this always run on background