Building Data-Driven Web Apps with Flask and SQLAlchemy Transcripts
Chapter: Deployment
Lecture: Concept: uWSGI

Login or purchase this course to watch this video and the rest of the course contents.
0:00 Let's quickly look at what we had to do
0:01 to get our code running under uWSGI.
0:04 Basically, what we had to do is come up with this command
0:06 that would just launch uWSGI.
0:08 So this exec start command here
0:10 notice that's actually one line that's wrapping around.
0:13 It's basically the two lines there are one individual line
0:17 in a file. So, we're going to go and run the uWSGI
0:20 out of our virtual environment.
0:22 We're going to say the home is the virtual environment
0:24 so it knows to use that for Python.
0:26 Master mode, we want four processes, two threads.
0:28 I suspect we could have actually
0:29 a lot more threads per process.
0:31 Listen on HTTP port 5000.
0:34 Set the Python path to where our project is.
0:37 And then we created the file
0:41 it just imported the app
0:42 and we're going to mount /
0:43 go into the wsgi module, get the app variable out
0:46 and that's what Flask is going to use here.
0:49 And that's it. It's off to the races, it works great.
0:52 Also set the runtime directory.
0:53 I think the final / there is super important.
0:56 I think if you omit it it reports it as an error.
0:58 So we just set this up and this is a systemd unit file
1:02 and it just runs this command and keeps it running
1:05 if there were some reason it crashes.
1:07 That's all we got to do
1:08 to make sure that our app runs under uWSGI.
1:10 But remember, it's best to take that exec start command
1:13 run it separately, make sure it works
1:16 and then come back
1:17 and try to set it up as this daemon process here.