I intend to use a single VPS to deploy multiple low-traffic CherryPy apps as subdirectories; eg: example.com/app1
, example.com/app2
, etc.
After researching on WSGI deployment, it looks like the preferred method for deploying apps is to use a WSGI server (Gunicorn, uWSGI, etc) and NGinx in a reverse-proxy setup. It seems like overkill to use two webservers in tandem — especially since my CherryPy app is itself a webserver — but I don't want to dismiss the idea as it appears everywhere. I'm certainly not an expert so I'd like to discuss it.
I see three options:
- Deploy CherryPy by itself.
- Deploy beneath Gunicorn or another WSGI server.
- Deploy beneath a WSGI server and reverse-proxy to NGinx, which seems to be everyone's solution.
My questions:
- What's the main reason I see this pattern everywhere? Is NGinx just that good?
- For low-traffic apps, is the native CherryPy server good enough, or should I not even try?
Any and all advice is appreciated, thank you.