Python Flask使用WSGI server
HDUZN

Flask运行后有以下WARNING提示:

1
WARNING: Do not use the development server in a production environment.Use a production WSGI server instead.

上面只是警告,不管继续用也是可以的。它的意思是Flask 的默认服务器是在开发环境中使用的,仅供开发测试。然后Flask配置默认是生产环境,所以建议用生产级的WSGI服务器代替。

原来的代码是这样的:

1
2
3
……
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)

解决方法:

1
2
3
4
5
6
7
# pip install gevent
from gevent.pywsgi import WSGIServer
……
if __name__ == '__main__':
# 原来用:app.run('0.0.0.0', port=5000, debug=True)
http_server = WSGIServer(('0.0.0.0', 5000), app)
http_server.serve_forever()

再运行后发现不像原来有这样一堆提示,但直接打开 http://127.0.0.1:5000/ 也是可以访问的。

1
2
3
4
5
6
7
8
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.Use a production wSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN:146-032-183
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

PS.Flask 的开发服务器是 Werkzeug 设计的,便于测试,但不是那么的高效、稳定或安全。所以想投入生产环境,还是首选 WSGI 服务器。

  • 本文标题:Python Flask使用WSGI server
  • 本文作者:HDUZN
  • 创建时间:2023-01-10 21:49:59
  • 本文链接:http://hduzn.cn/2023/01/10/Python-Flask使用WSGI-server/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论