From: Ben Darnell Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. The FriendFeed application is written using a web framework that looks a bit like web.py or Google's webapp, but with additional tools and optimizations to take advantage of the underlying non-blocking infrastructure. The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. We built the web server specifically to handle FriendFeed's real-time features — every active user of FriendFeed maintains an open connection to the FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem.) See the Tornado documentation for a detailed walkthrough of the framework. The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses Automatic installation: Tornado is listed in PyPI and can be installed with Manual installation: Download tornado-1.2.1.tar.gz The Tornado source code is hosted on GitHub. On Python 2.6+, it is also possible to simply add the tornado directory to your Tornado has been tested on Python 2.5, 2.6, and 2.7. To use all of the features of Tornado, you need to have PycURL (version 7.18.2 or higher) and (for Python 2.5 only) simplejson installed (Python 2.6 includes JSON support in the standard library so simplejson is not needed). Complete installation instructions for Mac OS X and Ubuntu are included below for convenience. Mac OS X 10.6 (Python 2.6+) Ubuntu Linux (Python 2.6+) Ubuntu Linux (Python 2.5) Here is the canonical "Hello, world" example app for Tornado: See the Tornado documentation for a detailed walkthrough of the framework. See the Tornado documentation for a detailed walkthrough of the framework. Automatic installation: Tornado is listed in PyPI and can be installed with Manual installation: Download tornado-{{version}}.tar.gz The Tornado source code is hosted on GitHub. On Python 2.6 and 2.7, it is also possible to simply add the tornado directory to your Prerequisites: Tornado runs on Python 2.5, 2.6, 2.7 and 3.2.
+ epoll
or kqueue
, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. We built the web server specifically to handle FriendFeed's real-time features — every active user of FriendFeed maintains an open connection to the FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem.)Download and install
- pip
or easy_install
. If you do not already have libcurl installed you may need to install it separately; see the prerequisites section below. Note that the source distribution includes demo applications that are not present when Tornado is installed using pip
or easy_install
Quick links
-
- tar xvzf tornado-1.2.1.tar.gz
-cd tornado-1.2.1
-python setup.py build
-sudo python setup.py install
PYTHONPATH
instead of building with setup.py
, since the standard library includes epoll
support.Prerequisites
-
-
- sudo easy_install setuptools pycurl
-
- sudo apt-get install python-pycurl
+ sudo apt-get install python-dev python-pycurl python-simplejson
+
Hello, world
Installation
+
+ pip
or easy_install
. Note that the source distribution includes demo applications that are not present when Tornado is installed in this way, so you may wish to download a copy of the source tarball as well.
+ tar xvzf tornado-{{version}}.tar.gz
+cd tornado-{{version}}
+python setup.py build
+sudo python setup.py install
PYTHONPATH
instead of building with setup.py
, since the standard library includes epoll
support.
+
python-dev
from your operating system).
Platforms: Tornado should run on any Unix-like platform, although + for the best performance and scalability only Linux and BSD (including + BSD derivatives like Mac OS X) are recommended.
You can discuss Tornado and report bugs on the Tornado developer mailing list. Links to additional resources can be found on the Tornado wiki. diff --git a/website/website.py b/website/website.py index 380820871..8fe0c3596 100644 --- a/website/website.py +++ b/website/website.py @@ -27,7 +27,7 @@ class ContentHandler(tornado.web.RequestHandler): paths = ("index",) if path not in paths: raise tornado.web.HTTPError(404) - self.render(path + ".html") + self.render(path + ".html", version=tornado.version) settings = {