"One does not live by bread alone,but by every word that comes from the mouth of God"
--(MATTHEW4:4)php
不论是python,仍是php,亦或别的作web项目的语言,乃至于作其它非web项目的开发,通常都要用到一个称之为何什么框架的东西。html
开发这对框架的认识,因为工做习惯和工做内容的不一样,有很大差别,这里姑且截取维基百科中的一种定义,之因此要给出一个定义,无非是让看官有所了解,可是是否知道这个定义,丝绝不影响后面的工做。python
软件框架(Software framework),一般指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。nginx
框架的功能相似于基础设施,与具体的软件应用无关,可是提供并实现最为基础的软件架构和体系。软件开发者一般依据特定的框架实现更为复杂的商业运用和业务逻辑。这样的软件应用能够在支持同一种框架的软件系统中运行。git
简而言之,框架就是制定一套规范或者规则(思想),你们(程序员)在该规范或者规则(思想)下工做。或者说就是使用别人搭好的舞台,你来作表演。程序员
我比较喜欢最后一句的解释,别人搭好舞台,我来表演。这也就是说,若是我在作web项目的时候,可以省却不少开发工做。的确是。全部,作web开发,要用一个框架。github
有高手工程师鄙视框架,认为本身编写的才是王道。这方面不争论,框架是开发中很流行的东西,我仍是执拗地认为用框架来开发,更划算。web
有人说php(什么是php,严肃的说法,这是另一种语言,更高雅的说法,是某个活动的汉语拼音简称)框架多,我不否定,php的开发框架的确不少不少。不过,python的web开发框架,也足够使用了,列举几种常见的web框架:数据库
说明:以上信息选自:http://blog.jobbole.com/72306/,这篇文章中还有别的框架,因为不是web框架,我没有选摘,有兴趣的去阅读。ubuntu
一看到这个标题就知道,本教程中将选择使用这个框架。此前有朋友建议我用Django,首先它是一个好东西。可是,我更愿意用Tornado,为何呢?由于......,看下边或许是理由,也或许不是。
Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在本身的网站FriendFeed中使用,被Facebook收购之后框架以开源软件形式开放给大众。看来Tornado的出身高贵呀,对了,若是是在天朝的看官,可能对Facebook有风闻,可是要一睹其芳容,还要努力。或者有人是否是怀疑这个地球上就没有这个网站呢?哈哈。按照某个地方的网络,它是存在的。废话不说,仍是看Tornado的性能,由于选框架,必定要选好性能的,没准儿何时你也开发高大上的东西了。
Tornado的性能是至关优异的,由于它师徒解决一个被称之为“C10k”问题,就是处理大于或等于一万的并发。一万呀,这但是不小的量。(关于C10K问题,看官能够浏览:C10k problem)
下表是和一些其余Web框架与服务器的对比,供看官参考(数据来源:https://developers.facebook.com/blog/post/301)
条件:处理器为 AMD Opteron, 主频2.4GHz, 4核
服务 | 部署 | 请求/每秒 |
---|---|---|
Tornado | nginx, 4进程 | 8213 |
Tornado | 1个单线程进程 | 3353 |
Django | Apache/mod_wsgi | 2223 |
web.py | Apache/mod_wsgi | 2066 |
CherryPy | 独立 | 785 |
看了这个对比表格,还有什么理由不选择Tornado呢?
就是它了——Tornado
Tornado的官方网站:http://www.tornadoweb.org
在官网上,有安装方法,其实,看官也能够直接在官方上学习。另外,有一个中文镜像网站,看官也能够访问:http://www.tornadoweb.cn/
我在本身电脑中(ubuntu12.04),用下面方法安装,只须要一句话便可:
pip install tornado
这是由于Tornado已经列入PyPI,所以能够经过 pip 或者 easy_install 来安装。
若是你没有安装 libcurl 的话,你须要将其单独安装到系统中。请参见下面的安装依赖一节。
若是不用这种方式安装,下面的页面中有能够供看官下载的最新源码版本和安装方式:
https://pypi.python.org/pypi/tornado/
此外,在github上也有托管,看官能够经过上述页面进入到github看源码。
最后要补充一个要点,就是上述下载的Tornado没法直接安装在windows上,若是要在windows上安装,建议使用pypm(这是一个什么东西,关于这个东西,能够访问官方文档:http://docs.activestate.com/activepython/2.6/pypm.html,说实话,我也没有用过它,只是看了看文档罢了。看官若是有使用的,能够写一个教程共享之。),以下安装:
C:\> pypm install tornado