Search code examples
pythonapachewebservergunicornwsgi

What is the difference between a WSGI server and a Web server?


I created a RESTful application in Python. I'm now trying to know what kind of server I should use to deploy the application. Currently I'm looking at Gunicorn, which is a WSGI server. But I often hear about this popular web-server Apache as well.

So my questions are:

  • What is the difference between the WSGI and web-server?
  • If I don't need a public domain (i.e. my application only needs to run within the private network), should I use WSGI or a web-server?

Solution

  • WSGI is the standard interface for running Python web server applications. Python frameworks already implement this standard so you don't need to worry about this. There is no point in using apache if your application is written in Python.