uWSGI is a a fast (pure C), developer-friendly, self-healing WSGI server, aimed for professional python webapps deployment and development.
Product's homepage
Here are some key features of "uWSGI":
· written totally in C
· very fast communication protocol for webservers integration (apache2 module included)
· low memory footprint (thanks to the evil premature optimizations)
· support for multiple application in the same process/domain
· preforking mode to improve concurrency
· address space and rss usage reports
· advanced logging
· static file serving via sendfile()
· portability (tested on Linux 2.6, FreeBSD and MacOSX 10.5)
· support for python-generated threads (configurable)
· cgi mode for lazy users or ugly webservers (example cgi included)
· harakiri mode for self-healing
· vector based I/O to minimize syscall usage
· hot-add of wsgi applications
· static configuration option based on a simple xml file
· integrated profiler (cProfiler)
· support for multiple interpreter mode
· support for python2.4, python2.5 and python2.6
· big (professional) user-base (hundreds of production ready wsgi apps) thanks to its main development managed by the Italian ISP Unbit
· commercial support available (contact Unbit for informations)
· all code is under GPL2
· socket failover in apache module to increase availability (from version 0.9.1)
· configurable buffer size for low-memory system or to manage big requests (from version 0.9.1)
· print statistics sending SIGUSR1 to processes (from version 0.9.1)
What's New in This Release: [ read full changelog ]
· This version includes support for adaptive process spawning, a statistics framework, and the implementation of mules and farms for offloading tasks.
· Support for CGI and PHP script has been added.