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

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มี.ค. 2023
  • Learn how to deploy your Flask app with the Gunicorn web server gateway interface (wsgi) behind an Nginx proxy on Ubuntu.
    Next video: free SSL cert for HTTPS • How to Get Fully Autom...
    Python code available over on Github 👉 github.com/tonyflo/flask-app-...
    Need an Ubuntu server? Get a free VPS with Vultr • A Very Simple VPS Serv...
    Find more at tonyteaches.tech
    Check out my vlog channel ‪@TonyFlorida‬
    #python #nginx #flask #gunicorn
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 91

  • @henujanrohanadasan2643
    @henujanrohanadasan2643 9 หลายเดือนก่อน +2

    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.

  • @QualtarVideo
    @QualtarVideo ปีที่แล้ว +14

    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.

  • @ahmedosman1020
    @ahmedosman1020 8 หลายเดือนก่อน +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

  • @user-cc2yd2cc3c
    @user-cc2yd2cc3c 10 หลายเดือนก่อน +3

    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!

  • @teclote
    @teclote 6 หลายเดือนก่อน

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

  • @izaansohail7731
    @izaansohail7731 9 หลายเดือนก่อน

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

  • @mfungomunema2949
    @mfungomunema2949 9 หลายเดือนก่อน +1

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

  • @ukemeedet8675
    @ukemeedet8675 29 วันที่ผ่านมา

    This was actually very helpful, thanks :)

  • @wedevcoolstuff
    @wedevcoolstuff 8 หลายเดือนก่อน

    Thanks Tony this tutorial help me a lot

  • @andreypodlipsky9979
    @andreypodlipsky9979 ปีที่แล้ว +1

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

  • @criva1968
    @criva1968 ปีที่แล้ว

    Thank you, very well explained!

  • @gruntq
    @gruntq หลายเดือนก่อน

    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

  • @hjertaker
    @hjertaker ปีที่แล้ว

    Really helpful, thank you!

  • @westonwille3302
    @westonwille3302 ปีที่แล้ว

    🙌 This was so helpful!

  • @AntonioRonde
    @AntonioRonde 11 หลายเดือนก่อน

    Really helpful, thanks Tony

  • @eddygrugger
    @eddygrugger 22 วันที่ผ่านมา

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

  • @brpawankumariyengar4227
    @brpawankumariyengar4227 หลายเดือนก่อน

    Thank you very much for the video ❤❤❤

  • @JenuelDev
    @JenuelDev 7 หลายเดือนก่อน

    thanks mate,, I am subscribing now.

  • @mudikhan6203
    @mudikhan6203 ปีที่แล้ว

    You are a pro bro. Thanks

  • @msatashi_daily
    @msatashi_daily 8 หลายเดือนก่อน +2

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

  • @techatival
    @techatival ปีที่แล้ว

    Nice, thank you!

  • @vman049
    @vman049 ปีที่แล้ว +1

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

  • @WaldoTheWombat
    @WaldoTheWombat 6 หลายเดือนก่อน +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.'

  • @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

  • @marcelltoth9737
    @marcelltoth9737 หลายเดือนก่อน

    Thanks!

  • @slurpeesauce1750
    @slurpeesauce1750 11 หลายเดือนก่อน

    THANK Y(OU
    HOURS AND HOURS I NEEDED THIS

  • @elliotsilveira30
    @elliotsilveira30 10 หลายเดือนก่อน +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???

  • @thepramodgeorge
    @thepramodgeorge ปีที่แล้ว

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

  • @zhulipa
    @zhulipa หลายเดือนก่อน

    Thank you

  • @taneliharkonen2463
    @taneliharkonen2463 9 หลายเดือนก่อน

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

  • @xleage
    @xleage วันที่ผ่านมา

    your fan really djs in the background

  • @freepluralism6652
    @freepluralism6652 6 หลายเดือนก่อน

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

  • @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.

  • @fernandocoot9359
    @fernandocoot9359 3 หลายเดือนก่อน

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

  • @RabeloHigor
    @RabeloHigor 7 หลายเดือนก่อน

    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!

  • @fullstackoverflow-ct3bz
    @fullstackoverflow-ct3bz 10 หลายเดือนก่อน

    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?

  • @teclote
    @teclote 10 หลายเดือนก่อน

    Fabulous presentation, thank you.

  • @gokulyc
    @gokulyc ปีที่แล้ว

    Cool, how to configure static files?

  • @abdulraufal-hassan5033
    @abdulraufal-hassan5033 ปีที่แล้ว

    Bravo!!

  • @user-zp5gn8tl9r
    @user-zp5gn8tl9r 8 หลายเดือนก่อน +1

    the github page does not contain the service code

  • @caiquebaptista7165
    @caiquebaptista7165 5 หลายเดือนก่อน

    How to do it on Amazon Linux 2 ?

  • @leocosta1009
    @leocosta1009 7 หลายเดือนก่อน

    ja fiz o flask bro obg

  • @pyyu8748
    @pyyu8748 8 หลายเดือนก่อน

    i use the same 4k LG screen

  • @JOHNSMITH-sj3lg
    @JOHNSMITH-sj3lg ปีที่แล้ว +1

    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 4 หลายเดือนก่อน

      The same problem! Did you solve it?

    • @JOHNSMITH-sj3lg
      @JOHNSMITH-sj3lg 4 หลายเดือนก่อน

      @@bosmach nah bro

  • @verainsardana
    @verainsardana 7 หลายเดือนก่อน +2

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

    • @verainsardana
      @verainsardana 6 หลายเดือนก่อน

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

    • @sneaksneak6522
      @sneaksneak6522 6 หลายเดือนก่อน

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

    • @verainsardana
      @verainsardana 6 หลายเดือนก่อน

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

  • @wertuxhd6201
    @wertuxhd6201 10 หลายเดือนก่อน +2

    After permissions given, I still get 502 Gateway error.

    • @TonyTeachesTech
      @TonyTeachesTech  10 หลายเดือนก่อน +1

      Try this th-cam.com/video/hYVriHb43wU/w-d-xo.html

    • @cartulinito
      @cartulinito 10 หลายเดือนก่อน +1

      @@TonyTeachesTech That is for PHP

    • @cartulinito
      @cartulinito 10 หลายเดือนก่อน

      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

  • @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. >:(

  • @kylec.5476
    @kylec.5476 3 หลายเดือนก่อน

    Better than chatGPT!

  • @mktfasshwetasoftware3343
    @mktfasshwetasoftware3343 6 หลายเดือนก่อน

    really excellent

  • @programmer9809
    @programmer9809 5 หลายเดือนก่อน +1

    Michiel Huisman is now into IT?

  • @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.

  • @Dragonoid_369_4
    @Dragonoid_369_4 23 วันที่ผ่านมา

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

  • @impyrobot
    @impyrobot 9 หลายเดือนก่อน +6

    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

  • @polymathx_
    @polymathx_ 10 หลายเดือนก่อน +2

    where is the sock file?? Did he create?

  • @jomary00
    @jomary00 หลายเดือนก่อน

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

  • @nafisishtiaque
    @nafisishtiaque ปีที่แล้ว

    will this always run on background

  • @tanact0590
    @tanact0590 3 หลายเดือนก่อน +1

    People, help me pls
    What is peak.sock?