Official uWSGI docs, examples, tutorials, tips and tricks
Switch branches/tags
Nothing to show
Clone or download
unbit Merge pull request #417 from bentito/patch-1
Fixes typo in main project page
Latest commit 678cf50 Sep 20, 2018
Permalink
Failed to load latest commit information.
_options Fixed #267: added documentation for wsgi env behaviour/behavior policies May 9, 2017
_tools Add minimal trac parser/transmogrifier tool Nov 21, 2012
articles Fixed #267: added documentation for wsgi env behaviour/behavior policies May 9, 2017
examples renamed cpythonforkserver Jun 25, 2014
tips_and_tricks committed directories structure Oct 4, 2012
tutorials Fix typos Mar 5, 2018
.gitignore Add a makefile to build the documentation locally Oct 14, 2015
API.rst Fixup uwsgi.add*_timer documentation Oct 28, 2015
AlarmSubsystem.rst Typo/formatting fixes. Oct 27, 2014
Apache.rst mod_proxy_uwsgi: fix unix domain sockets configuration example Aug 18, 2016
Async.rst Fix typos in async mode overview Nov 28, 2013
AttachingDaemons.rst Add backquotes around attach-daemon2 heading Aug 19, 2017
Broodlord.rst Update Broodlord.rst Dec 13, 2014
BuildSystem.rst Small wording clarifications (#394) Mar 7, 2018
CGI.rst async mode IS supported actually Jan 4, 2016
CONTRIBUTORS Add my name to contributors list Nov 24, 2013
C_Api.rst Update C_Api.rst Sep 12, 2013
Caching.rst Typo/formatting fixes. Oct 27, 2014
Capabilities.rst Update Capabilities.rst Dec 10, 2014
Carbon.rst Fix few typos and markup in Graphite integration manual Dec 2, 2013
Cgroups.rst linguistic improvements and corrections May 22, 2013
Changelog-1.4.10.rst Prefer https over http Dec 15, 2016
Changelog-1.9.1.rst Prefer https over http Dec 15, 2016
Changelog-1.9.10.rst Prefer https over http Dec 15, 2016
Changelog-1.9.11.rst Prefer https over http Dec 15, 2016
Changelog-1.9.12.rst Prefer https over http Dec 15, 2016
Changelog-1.9.13.rst Prefer https over http Dec 15, 2016
Changelog-1.9.14.rst fix misspelling May 23, 2018
Changelog-1.9.15.rst Prefer https over http Dec 15, 2016
Changelog-1.9.16.rst Prefer https over http Dec 15, 2016
Changelog-1.9.17.rst Prefer https over http Dec 15, 2016
Changelog-1.9.18.rst Prefer https over http Dec 15, 2016
Changelog-1.9.19.rst Prefer https over http Dec 15, 2016
Changelog-1.9.2.rst Prefer https over http Dec 15, 2016
Changelog-1.9.20.rst Prefer https over http Dec 15, 2016
Changelog-1.9.21.rst Prefer https over http Dec 15, 2016
Changelog-1.9.3.rst Prefer https over http Dec 15, 2016
Changelog-1.9.4.rst Prefer https over http Dec 15, 2016
Changelog-1.9.5.rst Prefer https over http Dec 15, 2016
Changelog-1.9.6.rst Prefer https over http Dec 15, 2016
Changelog-1.9.7.rst Prefer https over http Dec 15, 2016
Changelog-1.9.8.rst Prefer https over http Dec 15, 2016
Changelog-1.9.9.rst Prefer https over http Dec 15, 2016
Changelog-1.9.rst Convert readthedocs link for their .org -> .io migration for hosted p… May 29, 2016
Changelog-2.0.1.rst Prefer https over http Dec 15, 2016
Changelog-2.0.10.rst Prefer https over http Dec 15, 2016
Changelog-2.0.11.1.rst Prefer https over http Dec 15, 2016
Changelog-2.0.11.2.rst Prefer https over http Dec 15, 2016
Changelog-2.0.11.rst Prefer https over http Dec 15, 2016
Changelog-2.0.12.rst Prefer https over http Dec 15, 2016
Changelog-2.0.13.1.rst Prefer https over http Dec 15, 2016
Changelog-2.0.13.rst Prefer https over http Dec 15, 2016
Changelog-2.0.14.rst Fixed my name May 18, 2017
Changelog-2.0.15.rst Update Changelog-2.0.15.rst Mar 30, 2017
Changelog-2.0.16.rst Update Changelog-2.0.16.rst Feb 10, 2018
Changelog-2.0.17.1.rst Update Changelog-2.0.17.1.rst Jul 9, 2018
Changelog-2.0.17.rst Update Changelog-2.0.17.rst Feb 26, 2018
Changelog-2.0.2.rst Prefer https over http Dec 15, 2016
Changelog-2.0.3.rst Prefer https over http Dec 15, 2016
Changelog-2.0.4.rst Prefer https over http Dec 15, 2016
Changelog-2.0.5.rst Prefer https over http Dec 15, 2016
Changelog-2.0.6.rst Prefer https over http Dec 15, 2016
Changelog-2.0.7.rst Prefer https over http Dec 15, 2016
Changelog-2.0.8.rst Prefer https over http Dec 15, 2016
Changelog-2.0.9.rst Prefer https over http Dec 15, 2016
Changelog-2.0.rst Prefer https over http Dec 15, 2016
Cheaper.rst Added note about worker-reload-mercy Sep 5, 2017
Cherokee.rst improvements_00: some typos and extra links Oct 5, 2013
Chunked.rst Add missing backquotes around an option Nov 8, 2017
Circus.rst Convert readthedocs link for their .org -> .io migration for hosted p… May 29, 2016
ConfigLogic.rst Spelling fixes Sep 2, 2015
Configuration.rst Change a french word to its equivalent in english Feb 3, 2018
Cron.rst Fix some minor formatting issues in Cron docs. Aug 22, 2017
CustomOptions.rst Fix typos and improve grammar. Sep 14, 2014
Download.rst Update Download.rst Jul 8, 2018
DynamicApps.rst Update DynamicApps.rst Oct 6, 2013
Embed.rst Fix example for build configuration Dec 1, 2015
Emperor.rst text fix Jul 15, 2018
EmperorProtocol.rst Update EmperorProtocol.rst Mar 11, 2014
Erlang.rst Various small fixes; readded deprecated features to TOC, for reference Nov 10, 2013
FAQ.rst Fix typos and improve grammar. Sep 14, 2014
FallbackConfig.rst Spelling fixes Sep 2, 2015
Fastrouter.rst Fastrouter: fix typo Nov 15, 2015
ForkServer.rst Fix copy paste bug Oct 13, 2015
ForkptyRouter.rst Update ForkptyRouter.rst Sep 19, 2014
FreeBSDJails.rst Update FreeBSDJails.rst Sep 27, 2013
GCCGO.rst Typo/formatting fixes. Apr 21, 2014
GeoIP.rst Added closing `` to variables. Mar 31, 2014
Gevent.rst add a statement to gevent monkey patching Jan 28, 2015
Glossary.rst Remove double negations Jan 30, 2018
GlusterFS.rst Update GlusterFS.rst Jul 31, 2013
Go.rst Various small fixes; readded deprecated features to TOC, for reference Nov 10, 2013
GridFS.rst linguistic improvements and corrections May 22, 2013
HTTP.rst Clarify some http options. Sep 14, 2017
HTTPS.rst HTTPS.rst: Added a note about required system packages when HTTPS is … Mar 8, 2017
Hooks.rst Typo/formatting fixes. Apr 21, 2014
ImperialMonitors.rst Spelling fixes Feb 20, 2016
Inetd.rst linguistic improvements and corrections May 22, 2013
Install.rst Prefer https over http Dec 15, 2016
InternalRouting.rst InternalRouting: Add xattr plugin to documentation Oct 14, 2015
JVM.rst Spelling fixes Sep 2, 2015
JWSGI.rst linguistic improvements and corrections May 22, 2013
KSM.rst Fix typo Dec 11, 2014
LDAP.rst linguistic improvements and corrections May 22, 2013
LanguagesAndPlatforms.rst Typo/formatting fixes. Apr 21, 2014
Legion.rst Mention that legion needs openssl Nov 21, 2013
Lighttpd.rst Disable check-local since most routes will not lead to existing files Oct 19, 2016
Locks.rst more linguistic improvements and corrections May 22, 2013
LogEncoders.rst Update LogEncoders.rst Sep 26, 2013
LogFormat.rst Added "secs" logvar function Jul 11, 2018
Logging.rst Fixed typo Mar 1, 2018
Lua.rst Fix single colon in `code-block` May 27, 2014
Makefile Add a makefile to build the documentation locally Oct 14, 2015
Management.rst recommend systemd for Ubuntu >= 15.04 Nov 30, 2016
ManagementFlag.rst Various small fixes; readded deprecated features to TOC, for reference Nov 10, 2013
MasterFIFO.rst Fix typos and improve grammar. Sep 14, 2014
Metrics.rst mention of the initial_value behavior for the reset_after_push metric… Jun 2, 2014
Mongrel2.rst Fix few links Nov 20, 2013
Mono.rst Update Mono.rst Dec 6, 2014
Mules.rst Expand mule farm documentation (#364) Sep 9, 2017
Nagios.rst Fix few typos in Nagios manual Dec 5, 2013
Namespaces.rst Namespaces: document the feature is not supported on Itanium Oct 14, 2015
Nginx.rst nginx docs say if is evil Sep 7, 2017
OffloadSubsystem.rst Small grammatical change Oct 21, 2014
OnDemandVassals.rst More documentation for On demand vassals Jan 30, 2016
OpenBSDhttpd.rst Update OpenBSDhttpd.rst May 1, 2015
Options.rst Expand mule farm documentation (#364) Sep 9, 2017
PHP.rst Spelling fixes Feb 20, 2016
PSGIquickstart.rst Added uwsgi::opt access example to PSGI Quickstart guide (#342) Dec 17, 2016
ParsingOrder.rst Typo/formatting fixes. Oct 27, 2014
Perl.rst Script extension fix Jan 16, 2016
Protocol.rst Spelling fixes Sep 2, 2015
Pty.rst Update Pty.rst Aug 26, 2013
PushingStats.rst Update PushingStats.rst Nov 9, 2013
PyPy.rst Download uwsgi installer through https May 10, 2015
Python.rst Include Pyramid with Paste support May 8, 2015
PythonDecorators.rst Add documentation for the spool-related `pass_arguments` variable. Jun 9, 2017
PythonModule.rst Document cache_set and cache_update (#395) Apr 25, 2018
PythonModuleAlias.rst Holiday edition! Dec 25, 2012
PythonPump.rst Lua and JVM and Python decorators and and and... Nov 18, 2012
Queue.rst Holiday edition! Dec 25, 2012
README.rst linked index.rst to README.rst Oct 10, 2012
RPC.rst Update RPC.rst Apr 13, 2015
RackQuickstart.rst Typo/formatting fixes. Apr 21, 2014
Rados.rst Changes in rados plugin: buffer size. Apr 8, 2016
Ring.rst Convert readthedocs link for their .org -> .io migration for hosted p… May 29, 2016
Ruby.rst Update Ruby.rst Nov 11, 2014
RubyAPI.rst Holiday edition! Dec 25, 2012
SNI.rst Fix spelling mistake. Jun 7, 2017
SNMP.rst Update SNMP.rst Dec 31, 2012
SPDY.rst Typo/formatting fixes. Oct 27, 2014
SPNEGO.rst Typos, grammar and formatting changes. May 27, 2013
SSI.rst Typos, grammar and formatting changes. May 27, 2013
SSLScaling.rst Fix typos Apr 21, 2014
SharedArea.rst Typo/formatting fixes. Apr 21, 2014
Signals.rst Fix spelling mistakes May 15, 2018
Snippets.rst Corrected typo / updated usage May 29, 2018
Spooler.rst Add an example on the usage of spooler-external. Thx @ultrabug. Jul 5, 2016
StaticFiles.rst Did you forget your right bracket in StaticFiles? Aug 10, 2018
StatsServer.rst Make stats-http more obvious by adding individual code sample for set… Dec 1, 2015
SubscriptionServer.rst Update SubscriptionServer.rst Aug 20, 2015
SupportedPlatforms.rst No need to specify FreeBSD version Oct 13, 2016
Symcall.rst Typo/formatting fixes. Apr 21, 2014
Systemd.rst systemd: document one-service-per-app conf Aug 18, 2016
ThingsToKnow.rst Update ThingsToKnow.rst Mar 2, 2018
ThirdPartyPlugins.rst Update ThirdPartyPlugins.rst Nov 1, 2014
Tornado.rst Spelling fixes Sep 2, 2015
Tracebacker.rst Add more Python-related docs (and some others), and a fancy glossary! Oct 24, 2012
Transformations.rst Update Transformations.rst Nov 6, 2013
TunTapRouter.rst TunTapRouter: make it explicit that it works only on Linux Oct 14, 2015
UpgradingTo2.0.rst Typo/formatting fixes. Apr 21, 2014
Upstart.rst Update Upstart.rst Mar 23, 2015
V8.rst Typos, grammar and formatting changes. May 27, 2013
Vars.rst Fix typos and improve grammar. Sep 14, 2014
WSGIquickstart.rst Prefer https over http Dec 15, 2016
WebCaching.rst Spelling fixes Sep 2, 2015
WebServers.rst Move obsoleted webservers to the bottom Oct 14, 2015
WebSockets.rst explicitly mention uwsgi_pass Jul 7, 2017
WorkerOverride.rst python: document uwsgi.accepting() Jun 27, 2016
XSLT.rst Typos, grammar and formatting changes. May 27, 2013
Zerg.rst Add note about Zerg fds having to be Unix sockets Jan 4, 2013
asyncio.rst Typo/formatting fixes. Apr 21, 2014
conf.py Update conf.py Nov 6, 2016
generate_options.pl more optdefs Jun 8, 2014
index.rst Fixes typo in main project page Sep 19, 2018
optdefs.pl updated Options Dec 30, 2014
uGreen.rst The grand Async edition. Oct 31, 2012

README.rst

The uWSGI project

The uWSGI project aims at developing a full stack for building hosting services.

Application servers (for various programming languages and protocols), proxies, process managers and monitors are all implemented using a common api and a common configuration style.

Thanks to its pluggable architecture it can be extended to support more platforms and languages.

Currently, you can write plugins in C, C++ and Objective-C.

The "WSGI" part in the name is a tribute to the namesake Python standard, as it has been the first developed plugin for the project.

Versatility, performance, low-resource usage and reliability are the strengths of the project (and the only rules followed).

Included components (updated to latest stable release)

The Core (implements configuration, processes management, sockets creation, monitoring, logging, shared memory areas, ipc, cluster membership and the :doc:`SubscriptionServer`)

Request plugins (implement application server interfaces for various languages and platforms: WSGI, PSGI, Rack, Lua WSAPI, CGI, PHP, Go ...)

Gateways (implement load balancers, proxies and routers)

The :doc:`Emperor <Emperor>` (implements massive instances management and monitoring)

Loop engines (implement events and concurrency, components can be run in preforking, threaded, asynchronous/evented and green thread/coroutine modes. Various technologies are supported, including uGreen, Greenlet, Stackless, :doc:`Gevent <Gevent>`, Coro::AnyEvent, :doc:`Tornado <Tornado>`, Goroutines and Fibers)

Note

uWSGI is a very active project with a fast release cycle. For this reason the code and the documentation may not always be in sync. We try our best to have good documentation, but it is a hard work. Sorry for that. If you are in trouble, the mailing list is the best source for help regarding uWSGI. Contributors for documentation (in addition to code) are always welcome.

Quickstarts

.. toctree::
   :maxdepth: 1

   WSGIquickstart
   PSGIquickstart
   RackQuickstart
   Snippets


Table of Contents

.. toctree::
   :maxdepth: 1

   Download
   Install
   BuildSystem
   Management
   LanguagesAndPlatforms
   SupportedPlatforms
   WebServers
   FAQ
   ThingsToKnow
   Configuration
   FallbackConfig
   ConfigLogic
   Options
   CustomOptions
   ParsingOrder
   Vars
   Protocol
   AttachingDaemons
   MasterFIFO
   Inetd
   Upstart
   Systemd
   Circus
   Embed
   Logging
   LogFormat
   LogEncoders
   Hooks
   WorkerOverride
   Glossary
   ThirdPartyPlugins

Tutorials

.. toctree::
   :maxdepth: 1

   tutorials/CachingCookbook
   tutorials/Django_and_nginx
   tutorials/dreamhost
   tutorials/heroku_python
   tutorials/heroku_ruby
   tutorials/ReliableFuse
   tutorials/DynamicProxying
   tutorials/GraphiteAndMetrics


Articles

.. toctree::
   :maxdepth: 1

   articles/SerializingAccept
   #articles/MassiveHostingWithEmperorAndNamespaces
   articles/TheArtOfGracefulReloading
   articles/FunWithPerlEyetoyRaspberrypi
   articles/OffloadingWebsocketsAndSSE
   articles/WSGIEnvBehaviour



uWSGI Subsystems

.. toctree::
   :maxdepth: 1

   AlarmSubsystem
   Caching
   WebCaching
   Cron
   Fastrouter
   InternalRouting
   Legion
   Locks
   Mules
   OffloadSubsystem
   Queue
   RPC
   SharedArea
   Signals
   Spooler
   SubscriptionServer
   StaticFiles
   SNI
   GeoIP
   Transformations
   WebSockets
   Metrics
   Chunked

Scaling with uWSGI

.. toctree::
   :maxdepth: 1

   Cheaper
   Emperor
   Broodlord
   Zerg
   DynamicApps
   SSLScaling

Securing uWSGI

.. toctree::
   :maxdepth: 1

   Capabilities
   Cgroups
   KSM
   Namespaces
   FreeBSDJails
   ForkptyRouter
   TunTapRouter


Keeping an eye on your apps

.. toctree::
   :maxdepth: 1

   Nagios
   SNMP
   PushingStats
   Carbon
   StatsServer
   Metrics


Async and loop engines

.. toctree::
   :maxdepth: 1

   Async
   Gevent
   Tornado
   uGreen
   asyncio




Web Server support

.. toctree::
   :maxdepth: 1

   Apache
   Cherokee
   HTTP
   HTTPS
   SPDY
   Lighttpd
   Mongrel2
   Nginx
   OpenBSDhttpd


Language support

.. toctree::
   :maxdepth: 2

   Python
   PyPy
   PHP
   Perl
   Ruby
   Lua
   JVM
   Mono
   CGI
   GCCGO
   Symcall
   XSLT
   SSI
   V8
   GridFS
   GlusterFS
   Rados

Other plugins

.. toctree::
   :maxdepth: 1

   Pty
   SPNEGO
   LDAP


Broken/deprecated features

.. toctree::
   :maxdepth: 1

   Erlang
   ManagementFlag
   Go


Release Notes

Stable releases

.. toctree::
   :maxdepth: 1

   Changelog-2.0.17.1
   Changelog-2.0.17
   Changelog-2.0.16
   Changelog-2.0.15
   Changelog-2.0.14
   Changelog-2.0.13.1
   Changelog-2.0.13
   Changelog-2.0.12
   Changelog-2.0.11.2
   Changelog-2.0.11.1
   Changelog-2.0.11
   Changelog-2.0.10
   Changelog-2.0.9
   Changelog-2.0.8
   Changelog-2.0.7
   Changelog-2.0.6
   Changelog-2.0.5
   Changelog-2.0.4
   Changelog-2.0.3
   Changelog-2.0.2
   Changelog-2.0.1
   Changelog-2.0
   Changelog-1.9.21
   Changelog-1.9.20
   Changelog-1.9.19
   Changelog-1.9.18
   Changelog-1.9.17
   Changelog-1.9.16
   Changelog-1.9.15
   Changelog-1.9.14
   Changelog-1.9.13
   Changelog-1.9.12
   Changelog-1.9.11
   Changelog-1.9.10
   Changelog-1.9.9
   Changelog-1.9.8
   Changelog-1.9.7
   Changelog-1.9.6
   Changelog-1.9.5
   Changelog-1.9.4
   Changelog-1.9.3
   Changelog-1.9.2
   Changelog-1.9.1
   Changelog-1.9



Contact

Mailing list http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
Gmane mirror http://dir.gmane.org/gmane.comp.python.wsgi.uwsgi.general
IRC #uwsgi @ irc.freenode.org. The owner of the channel is unbit.
Twitter https://twitter.com/unbit
Commercial support http://unbit.com/

.

Commercial support

You can buy commercial support from http://unbit.com

Donate

uWSGI development is maintained by Unbit . You can buy commercial support and licensing. If you are not an Unbit customer, or you cannot/do not want to buy a commercial uWSGI license, consider making a donation. Obviously please feel free to ask for new features in your donation.

We will give credit to everyone who wants to sponsor new features.

Check http://unbit.it/uwsgi_donate for the donation link.

Sponsors

https://www.pythonanywhere.com/

https://lincolnloop.com/

Indices and tables