NGiNX and uWSGI provides a great combination for Django-based web service on CentOS 7.  NGiNX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. We use uWSGI to integrate with NGiNX, because NGiNX does not support WSGI - uWSGI is a web server supports WSGI is used to forward requests from a web Server (such as Apache or NGINX) to a backend Python web application or framework. 

The below diagram is a common web service architecture based on Django, uWSGI, and NGiNX.

The main function of NGiNX is a load balancer handling all the HTTP/HTTPS traffics from the internet and assign it to uWSGI, so all Django application will work as planned.

WSGI(Web Server Gateway Interface) is used to forward requests from a web Server (such as Apache or NGINX) to a backend Python web application or framework. There are different kind of WSGI variants: