Deploy Flask Application on Ubuntu VPS using Nginx

  Рет қаралды 48,078

DevGuyAhnaf

DevGuyAhnaf

Күн бұрын

Пікірлер: 97
@mustafahajhamoud2077
@mustafahajhamoud2077 6 ай бұрын
thank you very much! I've been trying to do this for 3 days now, and your tutorial is the only one that worked for me.
@vat1980
@vat1980 2 жыл бұрын
Really want to say thank you so much. Many tutorials end up in error but this one is spot on! Got my Flask app running on AWS ES2 in less than 15 mins. Great video.
@cfuendev
@cfuendev Жыл бұрын
The constant "..Need to sudo before this" is very relatable
@nicholashooper9538
@nicholashooper9538 2 жыл бұрын
Been banging my head against the wall from lots of other tutorials, this was the only one to work for me all the way through, and I have quite a large/complex Flask App. Thank you so much
@devguyahnaf
@devguyahnaf 2 жыл бұрын
Lmao Head banging ain't that uncommon, especially for developers Thanks a lot :)
@perilous105
@perilous105 3 жыл бұрын
I don't really comment on many videos, but this was a brilliant tutorial. I've been looking at so many tutorials, but there was always an error with them, if it wasn't nginx it was apache2. Thank you for the quick and clear explanation. Keep doing videos like these!
@devguyahnaf
@devguyahnaf 3 жыл бұрын
Thanks a lot for your kind words. I really appreciate them :) Also, one thing I would like you to know is that Apache is a threaded server, which means it is prone to DDOS and DOS attacks. But Nginx on the other hand is an asynchronous web server and reverse proxy, so it is not as vulnerable as Apache, and it is also very easy to set up.
@perilous105
@perilous105 3 жыл бұрын
@@devguyahnaf That's great to know, glad I made the right choice!
@kushagramishra4795
@kushagramishra4795 3 жыл бұрын
I'll plus one this , great video !!!
@notlilmond
@notlilmond 2 ай бұрын
Very underrated channel. I've searched many tutorials and ended up to this channel multiple times. I hope you keep going with making tutorials bro, great things are waiting for you out there! And you really help a lot of people with your work. Much appreciated! ♥💯
@trueindian03
@trueindian03 7 күн бұрын
Thankyou so much for the video, I literally referred many youtube videos and articles none of them help me much, but your tutorial help me.
@samiam.402
@samiam.402 Жыл бұрын
Brooooooo!!! This is the only tutorial I could find to show how to keep the gunicorn or flask app alive after exiting the ssh connection!!!! Thanks a bunch.
@FelipeCatao
@FelipeCatao 2 жыл бұрын
friend without words, you helped me to climb my flask application that was 3 weeks trying without success, congratulations by the tutorial clear and direct
@devguyahnaf
@devguyahnaf 2 жыл бұрын
You're welcome, glad to hear that!
@ronmercier9841
@ronmercier9841 Жыл бұрын
Thank you for this tutorial, it was super helpful. I was able to get my fullstack app running on my Linode server with no issue. Much appreciated and keep up the good work!
@MadZorf
@MadZorf Жыл бұрын
Man, as others have also mentioned. Your tutorial saved my project! Thank you so much!!!
@AdhithyaRamesh-os2gy
@AdhithyaRamesh-os2gy Жыл бұрын
This was awesomee, i have a big flask app with D.L models and every other tutorial used github which doesn't allow files bigger than 25MB. This was seriously f*ckin awesome.
@kawsarlog
@kawsarlog Жыл бұрын
My friend you just did an outstanding job, not only the tutorial you also explained a lot of basic stuff!
@devguyahnaf
@devguyahnaf Жыл бұрын
Thank you, glad it was helpful
@phi6934
@phi6934 Жыл бұрын
What an amazing tutorial, I learned a ton of useful stuff, thanks!
@marconeramos1194
@marconeramos1194 Жыл бұрын
Thank you! This tutorial is simply the best I found! Saved my week!
@ryu8777
@ryu8777 2 жыл бұрын
Best of the best! Btw for me gunicorn3 can't be imstalled, but gunicorn works just great (ubuntu 20.04). Many many thanks DevGuyAhnaf!
@dev_ritchie
@dev_ritchie 4 ай бұрын
Excactly what i was searching for 🎉🎉
@walkerlasbury9315
@walkerlasbury9315 Жыл бұрын
So helpfull! Best video out there!
@olumorsotnas
@olumorsotnas Жыл бұрын
Very good explanation my friend. This video saved me :)
@EnglishRain
@EnglishRain 2 жыл бұрын
Wow 13:45 is a GREAT tip, thank you so much!
@dreUmairAli
@dreUmairAli 5 ай бұрын
i done everythin and unicorn3 is also running on port 8000 but when i go to my main ip it is showing me nginx
@MyStockz
@MyStockz Жыл бұрын
What a legend! Super clear! No bulls*it in between.
@castleold19
@castleold19 Жыл бұрын
I can't save reverse proxy, it's showing file or directory doesn't exist.
@AntonioGargiulodragossido
@AntonioGargiulodragossido Жыл бұрын
This is the only guide that has made me run Python on server so far. for some reason before running Gunicorn I need to reboot the server. if i want to add a second app?
@guipe7712
@guipe7712 2 жыл бұрын
Thanks Friend, excellent video. I learn a lot. Works perfectly in hostinger vps. Thanks a lot
@niksushko9333
@niksushko9333 Жыл бұрын
Thx bro, very useful for me!
@ero-sennin6623
@ero-sennin6623 2 жыл бұрын
thank you bro, u deserve more subscribers.
@devguyahnaf
@devguyahnaf 2 жыл бұрын
no probs pervy sage
@gusinthecloud
@gusinthecloud Жыл бұрын
You made the best video!!! Thank you
@alaminbijoy1027
@alaminbijoy1027 3 жыл бұрын
Great concise tutorial bro Take love
@jerrywang3225
@jerrywang3225 Жыл бұрын
This is really helpful. Thanks
@leomeror
@leomeror 2 жыл бұрын
This is very helpful! Well made! :)
@biskweet816
@biskweet816 Жыл бұрын
Excellent video. I would love to see a tutorial on how to setup TLS/SSL with this config.
@nicoxvxv
@nicoxvxv 2 жыл бұрын
So i followed the tutorial, but i have a little problem. After running "gunicorn --workers=3 app:app" the main ip of my server is showing "Bad Gateway" and i dont know what i did wrong.
@devguyahnaf
@devguyahnaf 2 жыл бұрын
The reverse proxy (Nginx in this case) is probably trying to find the gunicorn server on a specified port, but the server is not on that port. By default, the gunicorn server listens on port 8000, so your Nginx proxy would have to forward the requests to 127.0.0.1:8000. You would have the config sorta like this: location / { proxy_pass 127.0.0.1:8000; } This will load balance all the requests sent to your nginx server (through the main IP) and forward it to the gunicorn server so that people can access your flask application
@nicoxvxv
@nicoxvxv 2 жыл бұрын
@@devguyahnaf fixed.
@Notus29
@Notus29 Жыл бұрын
what if your using a docker container
@timberlee9176
@timberlee9176 3 жыл бұрын
Many thanks for you bro; it's very helpful.
@julian3154
@julian3154 Жыл бұрын
Great video, thank you!
@samjiman
@samjiman 7 ай бұрын
Good video, thank you.
@user-yn2me7in5n
@user-yn2me7in5n 2 жыл бұрын
Awesome tutorial, thanks!
@odepleted
@odepleted Жыл бұрын
how do you get dark theme in filezilla?
@lambuth
@lambuth Жыл бұрын
Thank you for this. So much.
@GabrielPvPMelhor
@GabrielPvPMelhor Жыл бұрын
PERFECT, Thanks!
@coldluck7366
@coldluck7366 5 ай бұрын
legend
@AdrienZier
@AdrienZier 2 жыл бұрын
Great tutorial! Just wondering what's the use of the 2 lines under proxy_pass? the header forwarding. what does that achieve? many thanks!!
@devguyahnaf
@devguyahnaf 2 жыл бұрын
Sorry for the late reply. All it does is provide the Flask app with some headers that contain the actual client information. This might be important for IP logging, or other analytical stuff in your application, since Flask doesn't directly get the client's info as it gets proxied by Nginx
@mohamed-hm8pn
@mohamed-hm8pn 2 жыл бұрын
thank you so much ....amazing work best video on youtube for this tut
@mohamed-hm8pn
@mohamed-hm8pn 2 жыл бұрын
it wotk perfect on google cloud platform too
@devguyahnaf
@devguyahnaf 2 жыл бұрын
@@mohamed-hm8pn Yes, it was intended for every VPS running Ubuntu
@karthik-pillai
@karthik-pillai 2 жыл бұрын
BEST VIDEO!
@vinter_man
@vinter_man 2 жыл бұрын
totally helpful, thx!!!
@moshiurrahman1454
@moshiurrahman1454 2 жыл бұрын
Really greate video
@dw4258
@dw4258 Жыл бұрын
Thanks, got my app working! It's on port 8050 though which is strange... (Added later) the call to gunicorn was app:server and not app:app
@96NewsHDofficial
@96NewsHDofficial 10 ай бұрын
broo what if i do 443 beside 80 for ssl will it work?
@devguyahnaf
@devguyahnaf 10 ай бұрын
Only if you have proper SSL certification/configuration available for NGINX.
@jakubkrajewski8249
@jakubkrajewski8249 2 жыл бұрын
how to add multiple urls?
@syedmujahid9860
@syedmujahid9860 7 ай бұрын
is steps same for deployment in aws ,hope for quick reply
@devguyahnaf
@devguyahnaf 7 ай бұрын
On an AWS EC2, should be same. Just configure elastic IP and proper ports
@eliasoliveira292
@eliasoliveira292 2 жыл бұрын
Thanks man!!!
@AabhusanAryalOfficial
@AabhusanAryalOfficial Жыл бұрын
Thanks a lot!
@PPRASHAR25
@PPRASHAR25 2 жыл бұрын
helped me at last moment..
@prasadnijai2820
@prasadnijai2820 2 жыл бұрын
I'm using vultr to host my website. And everything till last worked fine.. but gunicorn --workers=3 app:app is not working for me. It is not fetching site even by local host
@devguyahnaf
@devguyahnaf 2 жыл бұрын
Why are you using localhost though? Use the VPS's IP Also, make sure the host is 0.0.0.0 Bind gunicorn to 0.0.0.0 as well
@prasadnijai2820
@prasadnijai2820 2 жыл бұрын
@@devguyahnaf So What changes i have to do in sites-enabled/flask_app ? Do I have to replace proxy_pass IP ?
@devguyahnaf
@devguyahnaf 2 жыл бұрын
​@@prasadnijai2820 Nope. Try adding a bind argument to gunicorn "--bind=0.0.0.0"
@emotional_stuff
@emotional_stuff Жыл бұрын
nice one
@divyar5238
@divyar5238 3 жыл бұрын
Thanks, I get a "502 Bad Gateway nginx/1.18.0 (Ubuntu)" error. Do you know why ?
@devguyahnaf
@devguyahnaf 3 жыл бұрын
Nginx is trying to proxy the request to the flask server. Are you sure that the flask app is running?
@divyar5238
@divyar5238 3 жыл бұрын
Yes, flask app runs fine in local host
@devguyahnaf
@devguyahnaf 3 жыл бұрын
@@divyar5238 You need to keep it running in the background, so that Nginx can reverse proxy it.
@billycherry7028
@billycherry7028 2 жыл бұрын
@@devguyahnaf Hey, I'm having the same problem. I get that same error even when the app is running
@qrythe
@qrythe 3 жыл бұрын
U helped me so much
@ironF5
@ironF5 2 жыл бұрын
it shows E: Package 'gunicorn3' has no installation candidate
@ryu8777
@ryu8777 2 жыл бұрын
same for me, I just installed gunicorn and it works
@KingMarques
@KingMarques 2 жыл бұрын
Hey DevGuy, how are you? ' Dev, i'm trying to deploy a flask api on a Ubuntu Serve, but this api must bem deployed not in a Cloud, but inside of my company Server. I can do this task with this tutorial? We are using ubuntu 22.04 Server, Anaconda Python 3.9. Thank you very much!
@KingMarques
@KingMarques 2 жыл бұрын
Hey Dev, i'm here again, but now it is another question about "gunicorn3 --workers=3 file:app". In my situation, a have a function Main and my app flask is inside this Function Main, and when i try to call the App with gunicorn, the server return for me saying I'm trying to pass two parameters when Main requires 0. How can I refer this app flask inside the Main who is inside the file?
@ha2709
@ha2709 Жыл бұрын
Thank you
@ironF5
@ironF5 2 жыл бұрын
now tell us how to dockerize this? as ECR and lightsail has containers... that runs dockerized images only
@devguyahnaf
@devguyahnaf 2 жыл бұрын
This tutorial was specifically for VPS services such as AWS EC2, DO Droplets, GCP VMs, etc. But for container runtimes such as AWS ECR, you can take a look at this video: kzbin.info/www/bejne/naPXm556nZp3o7M Just skip the react part and only watch Flask
@ironF5
@ironF5 2 жыл бұрын
@@devguyahnaf can u show how to deploy a dockerized flask app on AWS sagemaker and lightsail container that can handle 5-10 requests at once meaning use of load balancer of some sort ( i have actually completed the lightsail deployment step) ... can u also tell the difference between 3 workers of gunicorn and loadbalancer use in deployed app..
@inferlight
@inferlight 3 жыл бұрын
Sheeeeesh
@andreaskweyo5582
@andreaskweyo5582 Жыл бұрын
Wow, say no more
@DT-hb3zu
@DT-hb3zu 2 жыл бұрын
Are we just gonna ignore that his filezilla is dark mode?
@devguyahnaf
@devguyahnaf 2 жыл бұрын
Yes. :)
@DT-hb3zu
@DT-hb3zu 2 жыл бұрын
@@devguyahnaf I love the tutorial my guy, got set up and running from it. Now, let's get back to dark mode FZ 😂🤣 (Possible new tutorial?) **FZ has dark mode?**
@devguyahnaf
@devguyahnaf 2 жыл бұрын
@@DT-hb3zu You see, I had dark mode enabled on my desktop environment (Cinnamon) back when I used Linux Mint. So Filezilla for Linux basically uses the QT/GTK theme that's set by the DE, and that's how I got dark mode
@DT-hb3zu
@DT-hb3zu 2 жыл бұрын
@@devguyahnaf gaaahh. I figured. I can get it on my Debian, but not my windows. And all "dark mode" on desktop look like poo. Thank you! You have very nice content. Straight to the point, and (maybe not intentional) show some common mistakes. Brilliant
@karasiq69
@karasiq69 Жыл бұрын
That helps a lot, thank you
@Yathavpriyan
@Yathavpriyan 2 жыл бұрын
great one. worked well. thanks !
@codepunk77
@codepunk77 8 ай бұрын
thanks a lot
How to Deploy a Flask App to a Linux Server with a Domain Name
21:29
Pretty Printed
Рет қаралды 26 М.
The NGINX Crash Course
50:53
Laith Academy
Рет қаралды 494 М.
UFC 308 : Уиттакер VS Чимаев
01:54
Setanta Sports UFC
Рет қаралды 742 М.
MY HEIGHT vs MrBEAST CREW 🙈📏
00:22
Celine Dept
Рет қаралды 88 МЛН
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 6 МЛН
HELP!!!
00:46
Natan por Aí
Рет қаралды 8 МЛН
Creating a Flask Web Server in EC2 on the AWS Free Tier from scratch!
17:28
Flask Load Balancing Using Nginx and Docker
18:39
DevGuyAhnaf
Рет қаралды 34 М.
Containerizing Python web apps with Docker, Flask, Nginx & uWSGI
25:38
How to Deploy a Flask App to a Linux Server
22:12
Tech With Tim
Рет қаралды 170 М.
Setting up a production ready VPS is a lot easier than I thought.
29:50
Deploying a Simple Python Web Server
14:23
Akamai Developer
Рет қаралды 44 М.
How to Set Up Nextcloud on Ubuntu 24.04 LTS
41:20
Learn Linux TV
Рет қаралды 65 М.
Authentication in React app using Flask Server-Sided Sessions
54:12
Linux Server Setup & MERN Deployment
38:41
Traversy Media
Рет қаралды 65 М.
UFC 308 : Уиттакер VS Чимаев
01:54
Setanta Sports UFC
Рет қаралды 742 М.