I have an app that uses Django Python and Postgresql.
Right now is running under Linux/Apache/mod_wsgi, how ever have read about Nginx and Gunicorn (also uwsgi and others) as a better option...
I would like to read your recommendations (advantages and disadvantages) about deploying django.
PS: I am mainly developer so I lack a lot of knowledge about sysadmin.
Set up gunicorn under some kind of process manager. I use daemontools, but runit, upstart, monit, and others can work very well too.
For updating code on the server, I'm a big fan of keeping it simple, and to me that means writing a small shell script that ssh's into your machine and runs the proper commands to update the code and send a HUP signal to gunicorn.
You can even set up this script as a git post-commit hook, so that every time you push, your code is updated. If you have a robust test suite, you can set up a Hudson instance to run this command when all tests pass.
If you plan to have long-lived connections (comet, many requests out to third party services), then make sure you set up gunicorn to use Eventlet workers. What that will do is transform your code into asynchronous evented code using coroutines. But you most likely won't have to worry about that.