Web server: uWSGI
Nautobot uses two separate components to serve its web requests. Django is the web framework where all of Nautobot’s application-specific functions are executed, and uWSGI is the web server that handles the http and https requests from the user.
Django includes a development server to serve http requests, but it is not designed to scale for production use and isn’t guaranteed to be free of security vulnerabilities. The Django development server is started if you run the nautobot-server runserver
command as you have in prior chapters.
To serve web requests in production, Nautobot uses a purpose-built web server called uWSGI. uWSGI uses a standard Python interface called the Web Server Gateway Interface (WSGI, defined by PEP 333) to communicate with Django. The uWSGI server is started when you run the nautobot-server start
command. A typical web request flow in Nautobot looks like this:
Figure A1.6 – Nautobot HTTP...