HOME

TheInfoList



OR:

The Gunicorn "Green Unicorn" (pronounced jee-unicorn or gun-i-corn) is a
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
Web Server Gateway Interface The Web Server Gateway Interface (WSGI, pronounced ''whiskey'' or ) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. The current version of WSGI, ...
(WSGI)
HTTP server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiates ...
. It is a pre-
fork In cutlery or kitchenware, a fork (from 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods either to h ...
worker model,
ported In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desig ...
from Ruby's
Unicorn The unicorn is a legendary creature that has been described since Classical antiquity, antiquity as a beast with a single large, pointed, spiraling horn (anatomy), horn projecting from its forehead. In European literature and art, the unico ...
project. The Gunicorn server is broadly compatible with a number of
web framework A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build a ...
s, simply implemented, light on server resources and fairly fast. It is often paired with
Nginx (pronounced "engine x" , stylized as NGINX or nginx) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Russian developer Igor Sysoev and publicly released in 20 ...
, as the two have complementary features.


Architecture

Server model * Central master process to manage the workers * Requests are handled by worker processes * Components: ** Master ** Sync workers ** Async workers **
Tornado A tornado is a violently rotating column of air that is in contact with the surface of Earth and a cumulonimbus cloud or, in rare cases, the base of a cumulus cloud. It is often referred to as a twister, whirlwind or cyclone, although the ...
workers ** AsyncIO workers


Features

* Natively supports
WSGI The Web Server Gateway Interface (WSGI, pronounced ''whiskey'' or ) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. The current version of WSGI, ve ...
,
web2py Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such a ...
, 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+


See also

*
Comparison of web server software Web server software allows computers to act as web servers. The first web servers supported only static files, such as HTML (and images), but now they commonly allow embedding of server side applications. Some web application frameworks include s ...
*
Comparison of application servers This list compares the features and functionality of application servers, grouped by the hosting environment that is offered by that particular application server. C * Enduro/X A middleware platform for distributed transaction processing, base ...


References


External links

*
PyPI listings
{{Creative Commons text attribution notice, cc=by3, url=http://gunicorn.org/ Free web server software Free software programmed in Python Web server software for Linux