Jump to content

Gunicorn

From Wikipedia, the free encyclopedia
Gunicorn
Original authorBenoit Chesneau
DeveloperGunicorn Developers
Initial release20 February 2010; 15 years ago (2010-02-20)
Stable release
23.0.0 Edit this on Wikidata / 10 August 2024; 14 months ago (10 August 2024)
Repository
Written inPython
Operating systemCross-platform
TypeWeb server
LicenseMIT License
Websitewww.gunicorn.org Edit this at Wikidata
Benoit Chesneau, author of Gunicorn

The Gunicorn "Green Unicorn" (pronounced jee-unicorn or gun-i-corn)[1] is a Python Web Server Gateway Interface (WSGI) HTTP server. It is a pre-fork worker model,[clarification needed] ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with a number of web frameworks, simply implemented, light on server resources and fairly fast.[2] It is often paired with Nginx, as the two have complementary features.[3]

Architecture

[edit]

Server model[4]

  • Central master process to manage the workers
  • Requests are handled by worker processes
  • Components:
    • Master
    • Sync workers
    • Async workers
    • Tornado workers
    • AsyncIO workers

Features

[edit]

[citation needed]

  • Natively supports WSGI, web2py, Django and Paster
  • Automatic worker process management
  • Simple Python configuration
  • Multiple worker configurations
  • Various server hooks for extensibility
  • Compatible with Python 2.6+ and Python 3.2+[5]

See also

[edit]

References

[edit]
  1. ^ "Ambiguous Pronunciation · Issue #139 · benoitc/gunicorn". GitHub. Retrieved 2018-08-02.
  2. ^ Gunicorn-Python WSGI HTTP Server for UNIX
  3. ^ Gunicorn and Nginx in a Nutshell
  4. ^ "Design — Gunicorn 20.1.0 documentation".
  5. ^ "Gunicorn 19.3 Documentation: Requirements". Archived from the original on 2015-08-19. Retrieved 2015-07-29.
[edit]

 This article incorporates text available under the CC BY 3.0 license.