WSGIserver is a high-speed, production ready, thread pooled, generic WSGI server with SSL support.
WSGIserver suppport both Python 2 (2.6 and above) and Python 3 (3.1 and above) and has no dependency.
WSGIserver is developed by Florent Gallaire fgallaire@gmail.com.
Website: http://fgallaire.github.io/wsgiserver.
To install the last stable version from PyPI::
$ sudo pip install wsgiserver
To install the development version from GitHub::
$ git clone https://github.com/fgallaire/wsgiserver
$ cd wsgiserver
$ sudo python setup.py install
Or you can just use the wsgiserver.py
file alone, nothing more needed!
Simplest example on how to use WSGIserver::
import wsgiserver
def my_app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type','text/plain')]
start_response(status, response_headers)
return ['WSGIserver is running!']
server = wsgiserver.WSGIServer(my_app)
server.start()
Then point your browser to this URL: http://localhost:8080
WSGIserver can serve as many WSGI applications as you want in one
instance by using a WSGIPathInfoDispatcher
::
d = wsgiserver.WSGIPathInfoDispatcher({'/': my_app, '/blog': my_blog_app})
server = wsgiserver.WSGIServer(d)
To specify an host
or a port
::
server = wsgiserver.WSGIServer(my_app, host='0.0.0.0', port=8080)
To add SSL support, just specify a certfile
and a keyfile
::
server = wsgiserver.WSGIServer(my_app, certfile='cert.pem', keyfile='privkey.pem')
WSGIserver is the project name
wsgiserver is the Python module name
WSGIServer is the main class name
WSGIserver files are released under the GNU LGPLv3 or above license.
WSGIserver codebase from CherryPy by CherryPy Team (team@cherrypy.org) under the 3-clause BSD license.