Jump to content

Gunicorn: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Update release and release date.
 
(21 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{Short description|Python web server}}
{{Multiple issues|
{{refimprove|date=September 2016}}
{{notability|Products|date=September 2016}}
}}

{{Infobox software
{{Infobox software
| name = Gunicorn
| name = Gunicorn
Line 12: Line 8:
| developer = [https://github.com/benoitc/gunicorn/blob/master/MAINTAINERS Gunicorn Developers]
| developer = [https://github.com/benoitc/gunicorn/blob/master/MAINTAINERS Gunicorn Developers]
| released = {{Start date and age|2010|02|20|df=yes/no}}
| released = {{Start date and age|2010|02|20|df=yes/no}}
| latest release version = 20.0.0
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{Start date and age|2019|10|30}}<ref>{{cite web|url=https://github.com/benoitc/gunicorn/releases|title=Releases - benoitc/gunicorn|via=[[GitHub]]|accessdate=12 April 2017}}</ref>
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| programming language = [[Python (programming language)|Python]]
| programming language = [[Python (programming language)|Python]]
| operating system = [[Cross-platform]]
| operating system = [[Cross-platform]]
| status = Active
| genre = [[Web server]]
| genre = [[Web server]]
| license = [[MIT License]]
| license = [[MIT License]]
| website = {{Official URL}}
| website = {{Official URL}}
}}
}}
[[File:Benoit Chesneau in 2010.jpg|thumb|Benoit Chesneau, author of Gunicorn]]


The '''Gunicorn''' "Green Unicorn" (pronounced jee-unicorn)<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>
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
* 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
* Components:
* Components:
** Master
** Master
** Sync Workers
** Sync workers
** Async Workers
** Async workers
** Tornado Workers
** [[Tornado (web server)|Tornado]] workers
** AsyncIO Workers
** AsyncIO workers


== Features ==
==Features==
{{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]]
* Automatic worker [[process management (computing)|process management]]
* Automatic worker [[process management (computing)|process management]]
Line 41: Line 38:
* Multiple worker configurations
* Multiple worker configurations
* Various server hooks for extensibility
* Various server hooks for extensibility
* Compatible with Python 2.6+ and Python 3.2+<ref>[http://docs.gunicorn.org/en/19.3/install.html Gunicorn 19.3 Documentation: Requirements]</ref>
* Compatible with Python 2.6+ and Python 3.2+<ref>{{Cite web |url=http://docs.gunicorn.org/en/19.3/install.html |title=Gunicorn 19.3 Documentation: Requirements |access-date=2015-07-29 |archive-date=2015-08-19 |archive-url=https://web.archive.org/web/20150819004437/http://docs.gunicorn.org/en/19.3/install.html |url-status=dead }}</ref>


==See also==
==See also==
Line 53: Line 50:
==External links==
==External links==
* {{Official website}}
* {{Official website}}
* [https://pypi.org/project/gunicorn/ PyPI listings]


{{Web server software}}
{{Web server software}}


{{CC-notice|cc=by3|url=http://gunicorn.org/}}
{{Creative Commons text attribution notice|cc=by3|url=http://gunicorn.org/}}


[[Category:Free web server software]]
[[Category:Free web server software]]
[[Category:Free software programmed in Python]]
[[Category:Free software programmed in Python]]
[[Category:Web server software for Linux]]
[[Category:Web server software for Linux]]

{{software-stub}}

Latest revision as of 10:25, 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; 8 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

[edit]

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

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

See also

[edit]

References

[edit]
  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.
[edit]

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