
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