使用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 ) |