Python3 基于 Nginx 部署 Flask 项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yilovexing/article/details/82969298

很早之前就写过一篇 Python3 基于 Nginx 部署 Django 项目 的文章,一直没有发布出来,这次部署 Flask 项目的时候用到了很多之前 Django 的东西,所有干脆同时将这两篇发布。

很多细节的内容我就不写了,只把 Nginx 配置和 uWSGI 配置给出即可,因为原理是一毛一样的。其中有一点不同的是,Django 中有 wsgi.py 文件,所以我们不需要指定项目的根目录、主程序、python解释器路径等相关内容。但是 Flask 是轻量级的 web 服务器,没有这些东西,所以我们在配置 Nginx 和 uWSGI 的时候需要指定这些内容。

Nginx 配置:

# Flask dataV api
server {
    
    listen 5050;
    
    server_name data.migelab.com;
    charset utf-8;
    
    client_max_body_size 75M;
    
    location / { 

        include uwsgi_params;                       # 导入uwsgi配置 
    
        uwsgi_pass 127.0.0.1:5555;                  # 转发端口,需要和uwsgi配置当中的监听端口一致
        uwsgi_param UWSGI_PYTHON /usr/bin/python3;  # Python解释器所在的路径,如果有虚拟环境可将路径设置为虚拟环境
        uwsgi_param UWSGI_CHDIR /opt/dataV;         # 项目根目录
        uwsgi_param UWSGI_SCRIPT run:app;           # 项目的主程序,比如你测试用run.py文件,文件中app = Flask(__name__),那么这里就填run:app 
    }   
}

uWSGI 配置:

[uwsgi]

# uWSGI 的监听端口
socket          = 127.0.0.1:5555
# 项目根目录
chdir           = /opt/dataV
# Flask 项目的启动文件
wsgi-file       = run.py
# 程序内启用的application变量名
callable        = app 
# 进程数量
processes       = 4
vacuum          = true
master          = true

启动 uWSGI 服务器:

uwsgi --ini /opt/dataV/uwsgi.ini &

参考文章:Python3 基于 Nginx 部署 Django 项目 

https://www.jianshu.com/p/5b73444eb47d

猜你喜欢

转载自blog.csdn.net/yilovexing/article/details/82969298