isso/docs/docs/extras/uwsgi.rst
Martin Zimmermann adc722359d move application export to isso.run
When using Gunicorn or uWSGI to run `isso.dispatch` it would
automatically initialize and a default Isso instance (and cause
several logging messages), although never used.

If you use uWSGI or Gunicorn, you have to change the module from
`isso` to `isso.run`.
2013-12-08 19:15:08 +01:00

58 lines
1.3 KiB
ReStructuredText

uWSGI
=====
In short: `uWSGI <http://uwsgi-docs.readthedocs.org/>`_ is awesome. Isso
has builtin support for it (and simple fallback if uWSGI is not
available). Use uWSGI if you think that the builtin WSGI server is a bad
choice or slow (hint: it's both).
With uWSGI, you have roughly 100% performance improvements for just
using it. Instead of one thread per request, you can use multiple
processes, hence it is more "web scale". Other side effects: spooling,
fast inter-process caching.
Installation
------------
You need uWSGI 1.9 or higher, fortunately you can install it with
Python:
.. code-block:: sh
~> apt-get install build-essential python-dev
~> pip install uwsgi
Configuration
-------------
For convenience, I recommend a INI-style configuration (you can also
supply everything as command-line arguments):
.. code-block:: ini
[uwsgi]
http = :8080
master = true
processes = 4
cache2 = name=hash,items=1024,blocksize=32
spooler = %d/mail
module = isso.run
virtualenv = %d
env = ISSO_SETTINGS=%d/sample.cfg
You shoud adjust ``processes`` to your CPU count. Then, save this file
to a directory if choice. Next to this file, create an empty directory
called ``mail``:
.. code-block:: sh
~> mkdir mail/
~> ls
uwsgi.ini mail/
Now start Isso:
.. code-block:: sh
~> uwsgi /path/to/uwsgi.ini