【Python】在Windows Server上部署Flask后端服务器

avatar
作者
筋斗云
阅读量:1

想要在Windows Server上部署flask应用,当然不能只下一个anaconda配完环境之后直接启动py文件,这样的话后台会有一段警告:

 * Serving Flask app 'app'  * Debug mode: off WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.  * Running on all addresses (0.0.0.0)  * Running on http://127.0.0.1:5000  * Running on http://10.0.0.9:5000 Press CTRL+C to quit 

意思就是直接使用app.run()开启的服务器只是一个开发服务器,官方提示不要把它放到生产环境,需要使用一个WSGI服务器。

而在Windows上我将使用Waitress进行演示,因为Gunicorn是用在类Unix系统上的,不兼容Windows。

首先在环境中安装Waitress:pip install waitress

接下来在代码中引入waitress的serve模块,改一下之前的app.run()

# py文件开头引入waitress from waitress import serve  # 将app.run()改为,监听ip和端口自行设置 serve(app, host='0.0.0.0', port=5000) 

这样就完成了!然后搞一个批处理文件启动它就行了,还可以放到Windows的自启动目录里,实现开机自启。

1714895398899.webp

start.bat:

@ECHO OFF :start title 小竹VPS客户管理系统后端 by SmallBamboo @echo.开始启动 "E:\Anaconda3\envs\Flask\python.exe" app.py @echo 服务器后端10秒后自动重启,如不需要重启,请直接关掉 choice /t 10 /d y /n >nul goto start pause 

自启动目录可以使用Win+R然后输入shell:startup回车打开。把bat文件的快捷方式放进去即可。

当然最后说一句,使用WSGI启动你的Flask应用后,原来的Flask日志就没了,你可以在Flask中使用@app.before_request和@app.after_request重写请求前和请求后的代码,在此获取各种信息然后输出到控制台充当日志。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!