- Fix nginx config to use keepalive with upstream (was sending Connection: close which caused premature connection closure) - Add _safe_write() to handle socket errors (EPIPE, ECONNRESET, ENOTCONN) gracefully when client disconnects - Fix ASGI scope server/client to always be 2-tuples for IPv6 compatibility (IPv6 sockets return 4-tuples) - Add write_eof() before close() to ensure buffered data is flushed - Bind to [::] for dual-stack IPv4/IPv6 support in test containers
Gunicorn
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resource usage, and fairly speedy.
New in v25: Per-app worker allocation for dirty arbiters, HTTP/2 support (beta)!
Quick Start
pip install gunicorn
gunicorn myapp:app --workers 4
For ASGI applications (FastAPI, Starlette):
gunicorn myapp:app --worker-class asgi
Features
- WSGI support for Django, Flask, Pyramid, and any WSGI framework
- ASGI support (beta) for FastAPI, Starlette, Quart
- HTTP/2 support (beta) with multiplexed streams
- Dirty Arbiters for heavy workloads (ML models, long-running tasks)
- uWSGI binary protocol for nginx integration
- Multiple worker types: sync, gthread, gevent, eventlet, asgi
- Graceful worker process management
- Compatible with Python 3.9+
Documentation
Full documentation at https://gunicorn.org
Community
- Report bugs on GitHub Issues
- Chat in #gunicorn on Libera.chat
- See CONTRIBUTING.md for contribution guidelines
Support
gunicorn has been serving Python web applications since 2010. If it's running in your production stack and saving your team time and money, please consider supporting its continued development:
Your sponsorship helps cover:
- Security updates and vulnerability responses
- Compatibility with new Python versions
- Bug fixes and performance improvements
- Documentation maintenance
Corporate sponsors: If gunicorn is part of your infrastructure, reach out for sponsored support options.
License
Gunicorn is released under the MIT License. See the LICENSE file for details.