Python3 基于 Nginx 部署 Flask 项目

很早之前就写过一篇 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值