centos7下基于uwsgi部署flask应用
准备工作
环境版本
- python版本:3.10.14
- uwsgi:2.0.28
文件准备
- 现在yum安装是3.6版本,高版本需要手动编译。Python 3.10.14 下载地址
环境安装
python安装
由于安装时用到了openssl的问题,参考:
创建应用程序
- Home路径:/path/to/your/flask-app/
- 文件名称:app.py
设置虚拟环境
cd /path/to/your/flask-app/
python3.10 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 切换阿里pip源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 安装flask
pip install flask
示例程序
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, World!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
uWSGI安装
使用pip3安装,切勿使用
[uwsgi]
# 配置http方式,如果ngingx可以使用socket
http=127.0.0.1:5000
# 第一个app是py文件名,第二个app是flask实例
module=app:app
master=true
processes=4
socket=myapp.sock
chmod-socket=660
vacuum=true
die-on-term=true
# 应用目录
chdir=/path/to/your/flask-app
# 虚拟环境
home=%(chdir)/venv
pidfile=%(chdir)/myapp.pid
logto=%(chdir)/myapp.log
问题记录
- 使用yum安装uWSGI,导致运行时无法正常加载app