Nignx+uwsgi+flask部署

版权声明:本文章博主原创文章,未经允许不得转载

配置环境:阿里云服务器

1、Nginx和uwsgi关系

Nginx相当于是服务器,负责接收请求

uwsgi是服务器和服务端应用程序的通信协议,规定了怎么把请求转发给应用程序和返回

两个基本概念:

服务器(接收请求),应用程序(处理请求并返回)

通信过程:

客户端发送一个http请求,被nginx服务器接收,nginx服务器将请求转发给uwsgi,uwsgi将请求转发给实现uwsgi协议的应用程序(flask,gunicorn等等)

2、安装

启动虚拟环境

pyenv activate env352(注:python3.5.2环境)

安装flask和uwsgi

pip install flask

pip install uwsgi

安装nignx

sudo apt-get install nginx

启动nignx

sudo /etc/init.d/nignx start

3、修改配置

添加test.py

from flask import Flask

app = Flask(__name__)

@app.route('/')

def index():

    return "I am app"

添加uwsgi配置文件uwsgi_flask.ini

[uwsgi]

http = :9090    #方便HTTP访问调试

socket = 127.0.0.1:3031   #绑定socket通信端口,注:和后面的nignx配置一致

processes = 4

threads = 2

master = true

pythonpath = /home/kivvisystemserver/www/   #flask网站目录

module = test    #运行的flask主文件

callable = app   #flask主文件中的调用应用名称

memory-report = true

stats = 127.0.0.1:9191   #检测状态

daemonize = /var/log/uwsgi.log    #后台运行并保存日志

使用uwsgi托管flask应用

bash中运行:uwsgi uwsgi_flask.ini

4、nignx

修改配置文件/etc/nginx/sites-enabled/default添加如下内容:

location/{

    include uwsgi_params;

    uwsgi_pass127.0.0.1:3031;

     #try_files $uri $uri/ =404;  注:一定注释掉这行,否则无法跳转到Nignx,出现404错误

}

去掉前面uwsgi_flask.ini文件中的http= :9090参数

重启nignx

/etc/init.d/nignx restart

访问http://127.0.0.1:80/

至此搭建成功!

关闭uwsgi进程

killall -9 uwsgi

查看所有uwsgi进程

ps aux | grep uwsgi

你可能感兴趣的:(Nignx+uwsgi+flask部署)