使用uWSGI将Flask应用部署到生产环境

使用uWSGI将Flask应用部署到生产环境:

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1、安装uWSGI conda install -c conda-forge uwsgi(pip install uwsgi会报错) 2、配置uWSGI 在python程序的同一文件夹下创建 uwsgi.ini文件,文件内容如下表。 需要按照实际情况修改文件名称地址,log文件保存路径,启动的进程数和线程数等 3、启动服务,执行命令:uwsgi --ini uwsgi.ini 4、使用下面命令来查看uwsgi是否启用成功:curl http://10.28.198.94:5008/ 5、想要修改配置文件uwsgi.ini内容,并让其生效,需要先停止uwsgi服务,修改uwsgi.ini的内容,再重启后修改的配置生效(:查找相关进程(ps aux | grep uwsgi),找到主进程) 执行命令( kill -TERM 35064)停止服务。 |

uwsgi.ini文件内容如下

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # uwsgi.ini [uwsgi] # 指定应用程序的模块名和变量名 module = app:app chdir = /home/liuhongyue/l_Operator_Intelligence_Lt buffer-size = 65535 # 设置为 64KB 或更大 # 监听的 socket 地址,可以是文件,也可以是 IP:PORT http = 0.0.0.94:5008 # 进程数 processes = 4 # 线程数 threads = 2 # 启用主进程模式 master = true # 设置守护进程模式,即在后台运行 daemonize = /home/liuhongyue/l_Operator_Intelligence_Lt/app.log # 如果需要启用静态文件服务(例如,提供 CSS JS 文件) # static-map = /static=/path/to/static/files # 其他常用的选项 vacuum = true die-on-term = true |

其中地址处填我的服务器地址和对应的端口

Python对应的程序如下(app.py),python的名称需要与uwsgi.ini文件中的module的名称一致

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| from flask import Flask # 创建一个 Flask 应用实例 app = Flask(name) # 定义一个处理根路径的路由函数 @app.route('/' , methods=['get' ]) def hello_world(): return 'Hello, World!' if name == 'main' : # 仅在直接执行脚本时启动内置服务器(用于开发和调试) app.run(host="10.28.198.94" , port="5008" ,debug=True ) |

相关推荐
540_5401 小时前
ADVANCE Day33
人工智能·python·机器学习
水龙吟啸1 小时前
基于Orbbec-Gemini深度相机与SFM-2D to 3D重建算法、手部识别视觉算法、Unity运动控制的3D水果切割游戏
python·深度学习·神经网络·c#·游戏引擎·3d视觉·3d重建
用户26851612107561 小时前
常见的 Git 分支命名策略和实践
后端
程序员小假1 小时前
我们来说一下 MySQL 的慢查询日志
java·后端
南囝coding1 小时前
《独立开发者精选工具》第 025 期
前端·后端
To Be Clean Coder2 小时前
【Spring源码】从源码倒看Spring用法(二)
java·后端·spring
BBB努力学习程序设计2 小时前
深入理解 Python 中的深浅拷贝(Shallow Copy & Deep Copy):避免数据引用的 “坑”
python
想用offer打牌2 小时前
你真的懂Thread.currentThread().interrupt()吗?
java·后端·架构
BBB努力学习程序设计2 小时前
深入理解 Python 中的闭包(Closure):封装状态的函数式编程利器
python