对于pypy本人就不介绍过多了,pypy是用rpython(python的子集)编写的。
其与python(cpython)主要的区别在于pypy是即时编译代码,也就是把部分
代码编译成本地代码执行,而python通过解释源程序或者字节码一步步执行的。
这也导致cpython的执行速度慢与pypy。
通过上图可以看到差距还是相当大的。作为一个程序员,让程序执行的更快,可以
说使我们永远要时刻记在心中的目标。
现在pypy已经能够胜任我们的需求了,如果想把之前的django或者flask框架的工程
用pypy来执行也基本没什么问题了,只要把依赖的module安装好就行。
我们编写代码pypy与python并没用什么不同。在测试环境中
pypy manager.py runserver
(在django框架中)、
pypy appserver.py
(如果flask app.run在appserver.py里),
这些就能简单的测试、调试我们的项目了。但是这并
没多少意义,我们要把pypy跑在我们的线上的server才有价值。
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作为代理服务器。
先写这么多吧