1. 关于Pypy

  对于pypy本人就不介绍过多了,pypy是用rpython(python的子集)编写的。  
其与python(cpython)主要的区别在于pypy是即时编译代码,也就是把部分  
代码编译成本地代码执行,而python通过解释源程序或者字节码一步步执行的。     
这也导致cpython的执行速度慢与pypy。
以下是python与pypy在不同框架上速度的表现:

alt text

  通过上图可以看到差距还是相当大的。作为一个程序员,让程序执行的更快,可以
说使我们永远要时刻记在心中的目标。
  现在pypy已经能够胜任我们的需求了,如果想把之前的django或者flask框架的工程
用pypy来执行也基本没什么问题了,只要把依赖的module安装好就行。

2. 部署

我们编写代码pypy与python并没用什么不同。在测试环境中 pypy manager.py runserver(在django框架中)、

pypy appserver.py(如果flask app.run在appserver.py里), 这些就能简单的测试、调试我们的项目了。但是这并

没多少意义,我们要把pypy跑在我们的线上的server才有价值。

1. 之前本人已经写过一篇使用uwsgi、nginx、virtualenv部署flask项目的文章,点这儿,由于uwsgi运行pypy依赖

libpypy-c-x86_64.so ,如果要编译出这个动态链接库,很耗时(因为pypy源码是rpython编写的,生成pypy可执

行程序的过程是把rpython源程序转成c源码,再编译)。

上面说的是ubuntu上部署的难点,本人在centos 6.5上试了下,比较方便,因为centos提供了二进制的libpypy-c.so链接库。

2.下面在介绍一个更简单的方法

用到了gunicorn,gunicorn什么呢?进官网,gunicorn是一个python WSGI UNIX的HTTP服务器。安装很简单

pip install gunicorn

仅仅简单的运行gunicorn -b "0.0.0.0:5000" -w 4 appserver:app

我们的项目就可以执行了,gunicorn之前最好用nginx作为代理服务器。

先写这么多吧