如何使用anaconda在pycharm中部署Python环境:1.打开pycharm,点击文件和设置选项;2.找到projectinterpreter参数3.添加anaconda中的路径。
具体方法:
(推荐教程:Python入门指南)
首先点击pycharm中的File,然后选择“Settings””并单击;
然后选择“ProjectInterpreter”,在下一个字段中您应该选择anaconda中的位置;
最后单击“好的”。
安装PythonWeb应用方案
一般情况下,高性能Python站点强烈建议安装nginx+uwsgi方式
apache+mod_wsgi方式简单、方便稳定,性能一般
API服务器可以直接使用turbo或者gevent
mod_python
原来的agi模式没有任何引入Python开发的地方。对于组织性不太强的性能管理系统和网站,部署Apache是一个不错的选择。此前,使用modo_python开发PythonWeb应用程序非常流行。
启动Apache服务器Python解释器以提供对Apache服务器内部的访问。mod_python的实现现在看来很差。每个httpmod_python请求都会通过进程初始化python解释器,加载代码,执行它,然后杀死进程。
mod_wsgi
如果你需要使用Apache来开发Python应用程序,mod_wsgi是一个更好的选择。WSGI的完整名称是WebServerGatewayInterface,由PEP-333定义。所有python文本框架都实现了wsgi接口,mod_wsgi可以用来实现任何wsgi框架工具。事实上,你可以使用mod_wsgi来开发没有任何框架的python程序。使用mod_wsgi守护进程模式,python程序将驻留在内存中,在初始化和销毁过程中不会有很大的开销,因此性能比mod_python更好。综上所述,在使用Apache部署PythonWeb应用时,推荐使用mod_wsgi守护进程模式。
Fastcgi
先声明一下:不建议使用fastcgi来开发Pythonweb。
近年来,由于levetpd的流行以及豆瓣的成功,fastcgi已经成为一种非常流行的部署方式。fastcgi与特殊语言无关,与Web服务器无关。常见的部署方式。Fastcgi是cgi的扩展。针对许多请求,会创建和销毁许多进程,这大大降低了操作系统的性能。
FastCGI没有为每个请求创建一个新的进程,而是使用连续的进程来处理一系列请求。这些进程由FastCGI服务器管理,而不是Web服务器。当请求到达时,Web服务器将环境变量和请求页面通过网络(例如FastCGI进程和Web服务器都在本地)或TCP连接(FastCGI进程在远程)传递给FastCGI进程。服务器)。
Ametry、Apache、lighttpd和nginx服务器都支持fastcgi。几年前,luxtpd的mod_fcgi模块表现强劲,luxtpd+fastcgi非常流行。不管是python、ruby还是php,很多网站都是这样开发的。由于nginx的兴起,现在很少有人使用lighttpd了。
Fastcgi并不是专门为python设计的。并非所有python框架都原生支持fastcgi。Flup是用Python编写的,与c中包含特殊wsgi的性能相比,其性能相当差。wsgi容器还出现了fastcgi稳定性差距。无论从哪里看,在开发Python程序时,fastcgi都已成为过去。几年前,当nginx没有内置uwsgi模块时,部署uwsgi是相当麻烦的。由于能够直接在nginx中使用uwsgi模块,uwsgi现在是开发高性能pythonWeb应用程序最可靠、最方便的方法。
在1U四核XEON服务器上,简单的wsgihandler也可以以超过8,000qps的速度使用AB。同时uwsgi具有出色的稳定性。以前,我们有一个每天有500w-1000w动态请求的站点,该站点使用uwsgi进行非常可靠的部署。
上面提到的方法都与互联网有关。在移动网络时代,我们需要的是高性能的API服务,而且这些服务都是顶级的。
tornado
tornado号称高性能,但是如果用它来写网站的话,其实也只是一般,就像uwsgi加上一些简单的框架一样。它的真正作用是编写API服务器和长连接服务器。
因为storm直接请求,所以很多人直接使用它来直接提供服务。这个方法没有什么用。通常情况下,supervisor启动多个turbo进程,然后manager通过nginx进行负载均衡。nginx1.14及更高版本的反向代理版本支持长连接,与CometTornado配合良好。
Pollucis也有一些奇怪的用途,比如将它用作wsgi容器。
gevent
是一种可以做很多事情的设备。在Web术语中,处理http请求类似于turbo,但它更简单并且没有cookie等。一些API服务的开发方式与turbo脚本编写时类似。同样,它的奇怪用途和龙卷风一样,可以使用wsgi容器。
上一篇:阿里云服务器部署网站
下一篇:webAPI部署到云服务器