Flask运行方式及错误追踪
-
Flask运行方式
-
终端启动
workon 虚拟环境名 export FLASK_APP=XXXX.main export FLASK_ENV=development # 创建日志文件夹 mkdir XXXX/logs # 把访问日志和错误日志输出到access_app.log flask run -h 0.0.0.0 >> XXXX/logs/access_app.log 2>&1 # 1表示标准输出, 2表示错误输出 # 2>&1 表示错误输出到标准输出中
说明:
-
环境变量 FLASK_APP 指明flask的启动实例
-
flask run -h 0.0.0.0 -p 8000
绑定地址 端口 -
flask run --help
获取帮助 -
生产模式与开发模式的控制
通过
FLASK_ENV
环境变量指明export FLASK_ENV=production
运行在生产模式,未指明则默认为此方式export FLASK_ENV=development
运行在开发模式
-
-
Pycharm启动
步骤:
-
指定项目路径
Working directory :XXXXX
-
设置环境变量
FLASK_APP xxx.main FLASK_ENV development(开发模式)
-
旧版:
edit Configuration Script path: 清空 Parameters: -m flask run -h 0.0.0.0
-
新版:Module name flask
Parameters:run
-
-
编写一个脚本启动
目的:为了不用每次连接进来都需要配置环境变量,特意编写一个shell脚本。 1.编辑文件 vim /run.sh 2.在文件中添加以下内容 #! /bin/bash source ~/.bash_profile workon 虚拟环境名 export FLASK_APP=项目工程目录.main export FLASK_ENV=development flask run -h 0.0.0.0 >> /home/python/logs/access_app.log 2>&1 3.增加可执行权限 chmod +x /run.sh 4.执行命令 cd run.sh所在目录下 ./run.sh
-
扩展
export FLASK_APP=main python -m flask run
-
-
Flask错误追踪(调试)
-
判断问题发生在前端还是后端
-
如果前端为网页,可以通过网页调试工具里面的network判断
- 在前端中触发一次接口调用的请求
- 查看network中对应的请求记录
- 如果没有发现有新的请求记录,表示前端有问题,并未发起请求
- 如果有请求记录,返回的状态码为200,但是页面没有想要的效果,表示前端没有正确处理200的响应
- 如果返回的状态码为4xx, 表示前端构造的请求有问题,比如404没有正确的请求网址,401、403请求的身份有问题,405请求的方式有问题,400表示构造的请求参数不正确(类型不对或缺少参数)
- 如果返回500状态码,表示服务器端出现问题
-
如果前端不是网页,比如app,通过日志的访问请求记录判断
-
在服务器中查看日志文件的方法:
tail flask.log # 查看最后一条记录 tail -n 100 flask.log # 查看最新的100条记录 tail -f flask.log # 实时查看
-
-
如果是后端出现的问题,通过pycharm或日志来判断
查看记录错误的日志,根据日志的信息判断错误
-