* WE ARE MOVING TO GITHUB, UPDATED DOCS ARE ON READTHEDOCS.ORG *
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).
See the following table for a list of current language plugins:
|Technology||Available from version||Notes||Status|
|Python||0.9.1||The first available plugin, supports WSGI (PEP333, PEP3333), Web3 from version 0.9.7-dev and Pump (from 0.9.8.4). Works with VirtualEnv, Multiple Python interpreters, Python3k and has unique features like module aliasing, DynamicVirtualenv and uGreen. A module exporting handy Decorators for the uWSGI api is available in the source distribution. PyPy support is available starting from 1.2. From 1.3 the Tracebacker has been added||Stable (100% uwsgi api support)|
|Lua||0.9.5||Support wsapi, coroutine and threads||Stable (60% uwsgi api support)|
|Perl||0.9.5||PSGI support. multiple interpreters, threading and async modes supported||Stable (60% uwsgi api support)|
|Ruby||0.9.7-dev||Rack and RubyOnRails support. A loop engine for Ruby 1.9 fibers is available as well as a handy DSL module||stable (80% uwsgi api support)|
|Erlang||0.9.5||allows message exchanging between uWSGI and Erlang nodes. ErlangIntegration||Stable (no uwsgi api support)|
|CGI||1.0-dev||run CGI scripts||Stable (no uwsgi api support)|
|PHP||1.0-dev||run PHP scripts||stable from 1.1 (5% uwsgi api support)|
|Go||1.4||run Go application||stable from (20% uwsgi api support)|
|JVM||1.9-dev||allows integration between uWSGI and the JVM. An example WSGI-like (jwsgi) handler is available||Stable|
|mono||1.9-dev||allows running Mono ASP.NET applications||Stable|
Documentation (links pointing to readthedocs are updated, the others are old reference)
- Quickstart (for Python/WSGI)
- Quickstart (for Perl/PSGI)
- Quickstart (for Ruby/Rack)
- Things to know (read it)
- Emperor manage multiple uWSGI instances (vassals)
- Configuration Options
- Managing the uwsgi processes
- AlarmSubsystem (new)
- Notes for packagers
- Advanced logging (even networked, see UdpLogging, SocketLogging, ZeroMQLogging, LogFormat, RedisLogging, MongoDBLogging)
- VirtualHosting mode (from version 0.9.6)
- ConfigLogic and CustomOptions for simple dynamic configurations
The current (stable and LTS) release can be downloaded from:
The old/previous LTS release can be downloaded from:
latest code (can be unstable, experimental or hard to compile)
Developers/Users mailing list
Please note that with a large open source project such as uWSGI, the code and the documentation may not always be in sync. This mailing list is the best source for help regarding uWSGI.
Official IRC channel (freenode)
The owner of the channel is "unbit"
You can buy commercial support from http://unbit.com/
Donate (if you want)
Even if the uWSGI development is sponsored by a company (Unbit) and its customers, and you can buy commercial support and licensing, you may want to support it in a less bureaucratic way. If you are not an Unbit customer, or you cannot/donotwant to buy a commercial license consider making a donation. Obviously, feel free to ask for new features in your donation. We will give credits to everyone will want to sponsor new features.
or (via gittip) https://www.gittip.com/unbit/