There have been reported problems with uwsgi: http://lists.unbit.it/pipermail/uwsgi/2015-July/008104.html
We should make sure it works and document it. For mod_wsgi we can borrow & simplify from our forge-allura.apache.org setup.
Once done, it'll help with our [#7908] docker setup.
For gunicorn, you must be in the virtualenv.
Running it as a wsgi app would need a bit more work, since the wsgi app must be import-able not some arbitrary
allura.wsgi
filemod_wsgi-express
has a paste option, regular apache+mod_wsgi requires a .wsgi file and a webserver config usingWSGIScriptAlias
etc.waitress
would require a wsgi callableOr it can run with paster, but kind of an inverse setup. Change
use = egg:Paste#http
in the.ini
file touse = egg:waitress#main
and then run "paster serve"It would be nice to provide a wsgi callable, so that all servers can interface with it and also we could hide the paste setup within that and be able to seamlessly swap it out some day. But for now it seems we don't really need it.
I think we should use gunicorn since it is simpler to configure than uwsgi (which has multiple installation options, and tons of plugins and config options). We can even recommend using
gunicorn --reload
for development instead ofpaster serve
. mod_wsgi-express installation requires having apache dev libs installeddb/7957
Looks good