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

  • 11
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uwsgi和nginx是常用的Python Web应用程序部署工具,可以用于部署Flask项目。下面是部署Flask项目的步骤: 1. 安装uwsgi和nginx 在Linux系统中,可以使用以下命令安装uwsgi和nginx: ``` sudo apt-get install uwsgi nginx ``` 2. 创建Flask应用程序 在Flask应用程序的根目录下,创建一个名为`app.py`的文件,并在其中编写Flask应用程序的代码。 3. 创建uwsgi配置文件 在Flask应用程序的根目录下,创建一个名为`uwsgi.ini`的文件,并在其中编写uwsgi的配置信息。例如: ``` [uwsgi] module = app callable = app master = true processes = 4 socket = /tmp/uwsgi.sock chmod-socket = 660 vacuum = true die-on-term = true ``` 其中,`module`和`callable`分别指定Flask应用程序的模块名和可调用对象名。`socket`指定uwsgi与nginx之间的通信方式,`processes`指定uwsgi启动的进程数。 4. 创建nginx配置文件 在Linux系统中,可以在`/etc/nginx/sites-available/`目录下创建一个名为`flask`的文件,并在其中编写nginx的配置信息。例如: ``` server { listen 80; server_name example.com; location / { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; } } ``` 其中,`listen`指定监听的端口号,`server_name`指定服务器的域名。`location`指定请求的URL路径,`uwsgi_pass`指定uwsgi的通信方式。 5. 启动uwsgi和nginxFlask应用程序的根目录下,使用以下命令启动uwsgi: ``` uwsgi --ini uwsgi.ini ``` 在Linux系统中,使用以下命令启动nginx: ``` sudo service nginx start ``` 6. 访问Flask应用程序 在浏览器中输入服务器的IP地址或域名,即可访问Flask应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值