ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

python wsgi框架 还在为Python部署头秃?三步搞定uWSGI,让代码起飞

python wsgi框架 还在为Python部署头秃?三步搞定uWSGI,让代码起飞 这段文本主要是为了讲清楚怎么去把基础的, 还有通常情况下面会比较经常用到的那些 Web 框架, 给部署起来。以 / 为例子, 首先需要完成依赖包的安装操作步骤:apt-get install build-essential python-dev安装 uWSGI1、通过 pip 命令pip install uwsgi2、把那个下载安装脚本给弄到手。curl http://uwsgi.it/install | bash -s default /tmp/uwsgi你可以把 uWSGI 的二进制文件安装到 /tmp/uwsgi 这个位置, 当然, 你也是可以对其进行修改操作的。3、源代码安装wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gztar zxvf uwsgi-latest.tar.gzcd uwsgi-latestmake在完成安装操作之后, 你会在当前所在的那一个文件夹里面拿到一个被称之为uwsgi的二进制文件。这是一个属于第一个层面的, 关于WSGI应用的描述。我们可以先从一个简单的Hello World程序入手, 去新建一个.py文件, 然后输入下面的代码:def application(env, start_response):start_response(200 OK, [(Content-Type,text/html)])return [bHello World]当 uWSGI 的加载器进行工作的时候, 它会自动地去寻找并且定位那个被称为默认函数的那个东西。紧接着, 我们会启动uWSGI这个工具, 让它作为一个HTTP形式的服务程序来持续工作着同时, 把我们的那整一套业务代码给部署安排在那个编号为9090的网络通讯端口上面去。uwsgi --http :9090 --wsgi-file foobar.py添加并发和监控在默认状况之下, uWSGI将会启动起来一个单独的进程以及一个单独的线程。你可以使用带有两个连接符的选项添加更多的进程, 或者使用带有两个连接符的选项添加更多的线程, 也可以将两者同时使用。uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2执行上述这些命令, 就会创建出四个进程, 并且每一个进程里面都包含有两个线程。如果你需要执行那些有关监控之类的事务的话, 那么你是可以直接使用 stats 这个子系统的, 它所能够产生的数据的那些格式, 它是属于 JSON 类型的。uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191我们可以进行安装操作, 安装的软件类似于Linux系统中用于top命令的那个程序, 这样做以后就可以用来查看监控数据了:pip install uwsgitop可以这样把Web服务器结合着进行使用。我们可以把 uWSGI 和 Nginx Web 服务器进行结合使用, 这样做能够实现更高的并发性能。一个被经常拿来用的, 关于那个叫nginx的东西的配置方案, 是这样的, 如下所示:location / {include uwsgi_params;uwsgi_pass 127.0.0.1:3031;}上面的那个代码的意思是讲, 通过Nginx这个软件接到的那些网页访问请求, 会被转交给一个服务器应用程序来处理, 而这个应用程序的端口号码设定为3031, 它使用的是uWSGI这个技术服务。现在, 我们可以采取步骤去生成 uWSGI 这个工具, 以此来在本地环境中实现使用 uwsgi 这一特定协议进行通信操作。uwsgi --socket 127.0.0.1:3031 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191如果你的Web服务器使用的是http这个协议的话, 那么就有一个必须要注意的任务, 那就是你得在里面进行相应的配置, 并且要明确地指定这里是要使用本地http协议的。。uwsgi --http-socket 127.0.0.1:3031 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191部署是最常使用的 web 框架假设 项目位于 /home//:uwsgi --socket 127.0.0.1:3031 --chdir /home/foobar/myproject/ --wsgi-file myproject/wsgi.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191这个参数是用来设置项目的所在路径的。我们可以把以上的命令弄成一个 .ini 配置文件:[uwsgi]socket 127.0.0.1:3031chdir /home/foobar/myproject/wsgi-file myproject/wsgi.pyprocesses 4threads 2stats 127.0.0.1:9191接下来, 你只需要按照上述指示执行相应操作即可。uwsgi yourfile.ini将Flask进行部署。它是一个, 这个框架是比较流行的。创建一个文件, 其名称是以 .py 为后缀的, 具体的代码如下所示:from flask import Flaskapp Flask(__name__)app.route(/)def index():return I am app 1您需要去执行下面这个命令, 然后呢。uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
返回列表