阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

uWSGI安装步骤简述

362次阅读
没有评论

共计 2269 个字符,预计需要花费 6 分钟才能阅读完成。

运维平台的搭建已经提上日程,而我选用了大家比较常用的“uWSGI+Nginx+Django”的架构,这里先记录一下安装 uWSGI 的过程。

这里解释一下“uWSGI+Nginx+Django”,我们整个流程如下图:

uWSGI 安装步骤简述

这里我们可以看出,web server 是无法与我们的 app(django 等等)进行直接对话,他需要通过 uwsgi 这个桥梁,这个桥梁很重要,虽然我们使用 django 的 runserver 功能也会打开一个页面,但是这个页面是很脆弱的,小规模使用还好,要是放在网络上供人点击,根本就是脆不经风。

uWSGI 是啥,请查看文末的参考资料,写的已经非常好了。

uWSGI 的安装比较简单,推荐使用 #yum install Uwsgi 直接下载使用,而不推荐用 #pip install uwsgi,因为 pip 安装的话,虽然也能成功(如下图红框),是没有 uwsgi.ini 文件的,其实没有这个 uwsgi.ini 是无足轻重的,因为这个文件可以自己写,但是对于生手来说,没有这个文件可能会心里发毛,就无法按照攻略继续下去,所以我更推荐用 yum 安装,如图:

uWSGI 安装步骤简述

为了纪念我们的金刚狼同志,我们就写一个叫 logan.py,里面的内容是这样的:

def application(env, start_response):
        start_response(‘200 OK’, [(‘Content-Type’,’text/html’)])
        return “good bye,Logan…”

然后我们就可以启动这个 uwsgi 看看效果,使用 #uwsgi –http :8001 –wsgi-file logan.py,把端口设定为 8001,同时指定协议是 http,然后加载的文件就是 logan.py,启动之后,如图:

uWSGI 安装步骤简述

遇到这种情况,你就 #yum install uwsgi-plugin-Python,然后把命令做一点点修改,改成:#uwsgi –plugin python –http-socket :8001 –wsgi-file logan.py

屏幕会出现一大堆文字,然后提示,uwsgi 已经启动成功了。在浏览器输入“服务器外网地址:8001”看一下效果,如图:

uWSGI 安装步骤简述

我们在 root 目录下再写一个测试的文件,这次我们写一个比较老实的 python 脚本来测试,这个脚本就叫 test.py,里面的内容如图:

#!/usr/bin/python
#coding=utf-8
import os
import sys
def application(environ, start_response):
        status = ‘200’
        output = ‘this is a test for uwsgi,HOHO~’
        response_headers = [(‘Content-type’, ‘text/plain’),(‘Content-Length’, str(len(output)))]
        start_response(status, response_headers)
        return output

还是用刚才的方法,依旧可以打开网页,其实上面这个简单的 uWSGI 程序更好理解整个套路,只需要实现一个名为 application 的函数就可以了,该函数有两个参数,environ 为包含有 http 请求的环境变量,start_response 为一个函数,用来设置 http 头。在这个函数里,我们只需要调用一次 start_response 函数,设置一下 HTTP 返回头,再 return 一个 HTTP body 即可。

至此,整个 uWSGI 就安装成功了。

更多参考

Nginx+uWSGI+Supervisor 在 Ubuntu 上部署 Flask 应用  http://www.linuxidc.com/Linux/2016-07/133064.htm

uWSGI+Django+Nginx 的工作原理流程与部署过程 http://www.linuxidc.com/Linux/2017-03/141785.htm

快速部署 Python 应用:Nginx+uWSGI 配置详解  http://www.linuxidc.com/Linux/2016-12/137830.htm

Nginx+uWSGI+Django+Python 应用架构部署  http://www.linuxidc.com/Linux/2015-10/124183.htm

Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django  http://www.linuxidc.com/Linux/2015-04/116397.htm

Flask+uWSGI+Nginx+Ubuntu 部署教程 http://www.linuxidc.com/Linux/2016-06/132690.htm

Ubuntu 16.04 下安装部署 Nginx+uWSGI+Django1.9.7  http://www.linuxidc.com/Linux/2016-07/133484.htm

Nginx+uWSGI+Django 在 Ubuntu 下的部署  http://www.linuxidc.com/Linux/2016-07/133490.htm

Linux 上利用 Nginx 代理 uWSGI 处理 Flask Web 应用  http://www.linuxidc.com/Linux/2016-08/134164.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/141794.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2269字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中