What is the difference between mod_wsgi and uwsgi?
They are just 2 different ways of running WSGI applications.
Have you tried googling for mod_wsgi nginx? 
Any wsgi compliant server has that entry point, that's what the wsgi specification requires.
Yes, but that's only how uwsgi communicates with Nginx. With mod_wsgi the Python part is run from within Nginx, with uwsgi you run a separate app.
There seems to be mod_wsgi module in Apache and uwsgi module in Nginx. And there also seems to be the wsgi protocol and uwsgi protocol.
I have the following questions.

Are mod_wsgi and uwsgi just different implementations to provide WSGI capabilities to the Python web developer?
Is there a mod_wsgi for Nginx?
Does uwsgi also offer the application(environ, start_response) entry point to the developers?
Is uwsgi also a separate protocol apart from wsgi? In this case, how is the uwsgi protocol different from the wsgi protocol?