Does there exist any library that can serve a WSGI application as a FastCGI server, for Python 3? (So that nginx could then proxy requests to it?)
The Python 3 docs ment
There is now module called flup6
. Install it using pip
./pip install flup6
You can use flipflop. It's a simplified fork of flup (contains only the FastCGI part) and works fine with Python 3.
You can use flup-py3
to solve this problem, as :
pip3 install flup-py3
You may need super user privilge to execute this command.
flipflop
insteadpip3 install --upgrade flipflop
flipflop is what did the trick for me.
flup-py3
has an unresolved issue which has been standing open for a couple of years now.
Do not forget to edit the import line in your .fcgi
script to reflect this change towards using flipflop.
I am aware of two options
Both support Python 3 and both can create WSGI workers based on other web app code and can be served to NGINX.
As Graham Dumpleton mentioned, CherryPy talks to NGINX via HTTP protocol, while uWSGI talks the 'uwsgi' protocol to nginx instead of the HTTP protocol, although it does also support using HTTP as well. On the application side, both support hosting Python web applications via the WSGI API.