Differences between revisions 15 and 16
Revision 15 as of 2011-12-31 11:20:57
Size: 2635
Comment:
Revision 16 as of 2014-02-16 11:39:33
Size: 2594
Comment: Remove extremely old servers, replace with some new ones.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 4: Line 3:
Line 8: Line 6:

  * Twisted includes [[http://twistedmatrix.com/trac/wiki/TwistedWeb|a very scalable web server]] written in Python.
  * [[http://www.amk.ca/python/code/medusa.html|Medusa, a simple framework for standalone server applications (Last updated in 2003)]]
  * [[http://www.zetadev.com/software/httpy/|httpy - a sane and robust Python HTTP server and library]]
  * [[http://www.cherrypy.org|CherryPy - a pythonic, object-oriented HTTP framework]]
  * [[https://launchpad.net/rocket/|Rocket]] - a pure python HTTP server for WSGI applications and static files which runs on cPython 2.5-3.x and Jython 2.5
  * [[http://pypi.python.org/pypi/Spawning/| Spawning]] - a WSGI server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code.
  * [[http://www.tornadoweb.org/|Tornado]] - an open source version of the scalable, non-blocking web server and tools that power FriendFeed.
  * [[http://pypi.python.org/pypi/waitress/|Waitress]] - A WSGI server that runs on Windows and UNIX under PyPy, CPython 2.X and CPython 3.X.
 * [[https://pypi.python.org/pypi/chaussette/|Chaussette]] - A web server capable of running using multiple different underlying http engines
 * [[http://www.cherrypy.org|CherryPy - a pythonic, object-oriented HTTP framework]]
 * [[http://gunicorn.org/|Gunicorn]] - inspired by the Ruby server, Unicorn
 * [[https://launchpad.net/rocket/|Rocket]] - a pure python HTTP server for WSGI applications and static files which runs on cPython 2.5-3.x and Jython 2.5
 * [[http://pypi.python.org/pypi/Spawning/|Spawning]] - a WSGI server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code.
 * [[http://www.tornadoweb.org/|Tornado]] - an open source version of the scalable, non-blocking web server and tools that power FriendFeed.
 * Twisted includes [[http://twistedmatrix.com/trac/wiki/TwistedWeb|a very scalable web server]] written in Python.
 * [[http://pypi.python.org/pypi/waitress/|Waitress]] - A WSGI server that runs on Windows and UNIX under PyPy, CPython 2.X and CPython 3.X.
Line 19: Line 16:
Line 22: Line 18:
  * [[http://www.modwsgi.org|mod_wsgi]] embeds Python in the Apache HTTP server
  * ModPython embeds Python in the Apache HTTP server
  * [[PyWX]] embeds Python in AOLServer
  * [[http://wiki.nginx.org/NginxNgxWSGIModule|Nginx WSGI]] support module for Nginx HTTP server
  * [[http://modjy.xhaus.com/|Modjy]] embeds a jython interpreter in Java Servlet containers, e.g. Tomcat, Glassfish, Websphere, etc, and supports WSGI. Distributed with jython since March 2009.
 * [[http://www.modwsgi.org|mod_wsgi]] embeds Python in the Apache HTTP server
 * ModPython embeds Python in the Apache HTTP server
 * [[PyWX]] embeds Python in AOLServer
 * [[http://wiki.nginx.org/NginxNgxWSGIModule|Nginx WSGI]] support module for Nginx HTTP server
 * [[http://modjy.xhaus.com/|Modjy]] embeds a jython interpreter in Java Servlet containers, e.g. Tomcat, Glassfish, Websphere, etc, and supports WSGI. Distributed with jython since March 2009.
Line 29: Line 25:
 * [[BaseHttpServer|BaseHTTPServer]] (along with successors such as DocXmlRpcServer) can be considered as the original Python Web framework, but it really just provides the ability to process HTTP requests and to generate responses using a relatively primitive API. Some WebFrameworks use it as the basis for serving content, however.
Line 30: Line 27:
 * [[BaseHttpServer|BaseHTTPServer]] (along with successors such as DocXmlRpcServer) can be considered as the original Python Web framework, but it really just provides the ability to process HTTP requests and to generate responses using a relatively primitive API. Some WebFrameworks use it as the basis for serving content, however.

Web Servers and Python

Python-based Web servers have been available in the standard library for many years (see the BaseHTTPServer, SimpleHTTPServer and CGIHTTPServer modules). To address various issues of scalability, robustness and convenience with such existing servers, other server frameworks and solutions have been developed since that time.

Web Servers written in Python

  • Chaussette - A web server capable of running using multiple different underlying http engines

  • CherryPy - a pythonic, object-oriented HTTP framework

  • Gunicorn - inspired by the Ruby server, Unicorn

  • Rocket - a pure python HTTP server for WSGI applications and static files which runs on cPython 2.5-3.x and Jython 2.5

  • Spawning - a WSGI server which supports multiple processes, multiple threads, green threads, non-blocking HTTP io, and automatic graceful upgrading of code.

  • Tornado - an open source version of the scalable, non-blocking web server and tools that power FriendFeed.

  • Twisted includes a very scalable web server written in Python.

  • Waitress - A WSGI server that runs on Windows and UNIX under PyPy, CPython 2.X and CPython 3.X.

Web Servers embedding Python

In addition to the above, some non-Python-based Web servers support Python-based applications by embedding the Python virtual machine for improved performance:

  • mod_wsgi embeds Python in the Apache HTTP server

  • ModPython embeds Python in the Apache HTTP server

  • PyWX embeds Python in AOLServer

  • Nginx WSGI support module for Nginx HTTP server

  • Modjy embeds a jython interpreter in Java Servlet containers, e.g. Tomcat, Glassfish, Websphere, etc, and supports WSGI. Distributed with jython since March 2009.

Standard Library Technologies

  • BaseHTTPServer (along with successors such as DocXmlRpcServer) can be considered as the original Python Web framework, but it really just provides the ability to process HTTP requests and to generate responses using a relatively primitive API. Some WebFrameworks use it as the basis for serving content, however.


CategoryPythonWebsite CategoryJython CategoryJython

WebServers (last edited 2018-05-19 23:33:35 by StevePiercy)

Unable to edit the page? See the FrontPage for instructions.