Nginx 和 uWSGI 部署 Flask 应用

本文介绍如何使用Nginx和uWSGI简单部署Flask应用。包括配置manage.py文件、uwsgi.ini文件及nginx反向代理设置等步骤。确保应用通过反向代理正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx 和 uWSGI 部署 Flask 应用

不管是windows或者linux,首先我默认你已经了安装好了Nginx和uwsgi,这里要谈论的是如何最简单的部署Flask。

项目的manage.py

#!/usr/bin/env python3
# coding:utf-8
from flask.ext.script import Manager
config = 'development'
application = create_app(config)
manager = Manager(application)
...
if __name__ == '__main__':
  manager.run()

新建uwsgi.ini文件

[uwsgi]
socket = 127.0.0.1:5000
processes = 4
threads = 2
module = manage
callable = application

配置参数说明:

module:加载指定的python WSGI模块
callable:在收到请求时,uWSGI加载的模块中哪个变量将被调用,默认是名字为“application”的变量.也是create_app的实例

配置nginx的反向代理

nginx 的配置文件时位于 /etc/nginx/sites-available 目录下的 default 文件,我们复制一份做修改,这里同样给一份最简单的配置:

server {
  listen 80;

  server_name 127.0.0.1;

  # access_log logs/access.log compression;

  #默认请求
  location / {
          include uwsgi_params;
          uwsgi_pass 127.0.0.1:5000;
  }
}

nginx启动后,Flask项目的启动方式:

启动
uwsgi uwsgi.ini

停止

如果还在同一个shell中,我们可以直接按 Ctrl + C
如果不在同一个shell中,可以这样结束掉 killall -9 uwsgi

启动成功之后就可以访问我们的Web应用了,默认地址是:http://127.0.0.1:5000 (这个地址和端口号是在我们的Flask应用中配配置的,这里不做介绍)。

需要特别说明的:

如果出现 invalid request block size: 21573 (max 4096)…skip这个错误,请将ini配置中的 socket 改为 http

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值