Flask + Gunicorn + Nginx 部署

flask 部署


gunicorn

1. 安装gunicorn:

pip install gunicorn

2. 配置gunicorn:

创建 wgis.py 文件

# coding: utf-8
from app import app  #导入自己的应用
application = app()

3. 启动gunicron:

gunicorn -w 4 -b 127.0.0.1:9080 wsgi:application #-w 是开几个线程; wsig 文件名, applicantion是应用名字;
或者:
gunicorn -b 127.0.0.1:9080 wsgi:application

nginx

1. 安装nginx:

  • 首先安装依赖包(centos):
    yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

  • 再者从官网下载:
    wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
    解压:
    tar -zxvf nginx-1.10.1.tar.gz
    cd nginx-1.10.1

  • 配置:
    ./configure
    如果出现: error: the HTTP gzip module requires the zlib library.
    需要安装: yum install -y zlib-devel pcre openssl 由于之前已经安装,所以很少出现这个问题;

  • 编译:
    ./configure && make && make install

  • 安装位置:
    /usr/local/nginx

  • 配置文件位置:
    /usr/local/nginx/conf

2. 启动:

./usr/local/nginx/sbin/nginx //启动
./usr/local/nginx/sbin/nginx -s stop //停止
./usr/local/nginx/sbin/nginx -s reload //重启

配置nginx和gunicron:

server {
    listen 80;   
    server_name example.org; # 这是HOST机器的外部域名,用地址也行
    location / {
        proxy_pass http://127.0.0.1:9080; # 这里是指向 gunicorn host 的服务地址
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }

最后:

启动nginx和gunicorn
gunicorn -b 127.0.0.1:9080 wsgi:application
./usr/local/nginx/sbin/nginx
在浏览器输入localhost:80 大功告成。

上一篇:python – 同时将nginx设置为apache和gunicorn的代理


下一篇:Flask nginx和静态文件为非默认静态位置发出