Jump to content

Gunicorn: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Reverted edits by 12.238.62.210 (talk) (AV)
No edit summary
Line 18: Line 18:
[[File:Benoit Chesneau in 2010.jpg|thumb|Benoit Chesneau, author of Gunicorn]]
[[File:Benoit Chesneau in 2010.jpg|thumb|Benoit Chesneau, author of Gunicorn]]


The '''Gunicorn''' "Green Unicorn" (pronounced jee-unicorn or gun-i-corn)<ref>{{Cite web|url=https://github.com/benoitc/gunicorn/issues/139|title=Ambiguous Pronunciation · Issue #139 · benoitc/gunicorn|website=GitHub|language=en|access-date=2018-08-02}}</ref> is a [[Python (programming language)|Python]] [[Web Server Gateway Interface]] (WSGI) [[Web server|HTTP server]]. It is a pre-[[fork (operating system)|fork]] worker model, [[porting|ported]] from [[Ruby (programming language)|Ruby's]] [[Unicorn (web server)|Unicorn]] project. The Gunicorn server is broadly compatible with a number of [[web framework]]s, simply implemented, light on server resources and fairly fast.<ref>[http://gunicorn.org/ Gunicorn-Python WSGI HTTP Server for UNIX]</ref> It is often paired with [[NGINX]], as the two have complementary features.<ref>[https://vsupalov.com/gunicorn-and-nginx/ Gunicorn and Nginx in a Nutshell]</ref>
The '''Gunicorn''' "Green Unicorn" (pronounced jee-unicorn or gun-i-corn)<ref>{{Cite web|url=https://github.com/benoitc/gunicorn/issues/139|title=Ambiguous Pronunciation · Issue #139 · benoitc/gunicorn|website=GitHub|language=en|access-date=2018-08-02}}</ref> is a [[Python (programming language)|Python]] [[Web Server Gateway Interface]] (WSGI) [[Web server|HTTP server]]. It is a pre-[[fork (operating system)|fork]] worker model, [[porting|ported]] from [[Ruby (programming language)|Ruby's]] [[Unicorn (web server)|Unicorn]] project. The Gunicorn server is broadly compatible with a number of [[web framework]]s, simply implemented, light on server resources and fairly fast.<ref>[http://gunicorn.org/ Gunicorn-Python WSGI HTTP Server for UNIX]</ref> It is often paired with [[Nginx]], as the two have complementary features.<ref>[https://vsupalov.com/gunicorn-and-nginx/ Gunicorn and Nginx in a Nutshell]</ref>


== Architecture ==
==Architecture==
Server model <ref>{{Cite web | url=https://docs.gunicorn.org/en/latest/design.html | title=Design — Gunicorn 20.1.0 documentation }}</ref>
Server model<ref>{{Cite web | url=https://docs.gunicorn.org/en/latest/design.html | title=Design — Gunicorn 20.1.0 documentation}}</ref>
* Central master process to manage the workers
* Central master process to manage the workers
* Requests are handled by worker processes
* Requests are handled by worker processes
Line 31: Line 31:
** AsyncIO workers
** AsyncIO workers


== Features ==
==Features==
{{facts|date=September 2016}}
{{facts|date=September 2016}}
* Natively supports [[Web Server Gateway Interface|WSGI]], [[web2py]], [[Django (web framework)|Django]] and [[Python Paste|Paster]]
* Natively supports [[Web Server Gateway Interface|WSGI]], [[web2py]], [[Django (web framework)|Django]] and [[Python Paste|Paster]]

Revision as of 10:23, 20 November 2023

Gunicorn
Original author(s)Benoit Chesneau
Developer(s)Gunicorn Developers
Initial release20 February 2010; 14 years ago (2010-02-20)
Stable release
22.0.0[1] Edit this on Wikidata / 16 April 2024; 6 months ago (16 April 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)[2] is a Python Web Server Gateway Interface (WSGI) HTTP server. It is a pre-fork worker model, 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.[3] It is often paired with Nginx, as the two have complementary features.[4]

Architecture

Server model[5]

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

Features

[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+[6]

See also

References

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

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