我使用的是服务器内置的 Python Flasks 吗?

Am I using Python Flasks built in server?

我正在通过 IBM Cloud/Bluemix 的 python flask 应用程序在 python 中构建后端。我收到 heard/read 很多人抱怨内置服务器的 Flasks 不适合生产。但是我怎么知道应用程序是使用内置服务器的 Flask 还是 IBM 设置了其他东西?有没有一种简单的方法可以在代码中看到这一点?

从 IBM 云目录部署 Flask 样板应用程序确实会在 Flask 开发网络服务器上部署 Flask 应用程序 运行ning。

如果您想要运行一个生产 WSGI 服务器,您将需要更改应用程序。

我在 IBM 工作,每天都在做这些事情。

如果您想验证这一点,请使用 bash 命令通过 SSH 连接到您在 Cloud Foundry 上的应用程序容器

cf ssh <yourappnamehere>

在提交此命令之前,您需要安装 bluemix 或 cloud foundry CLI 并登录到相关端点。

它将在您的应用程序容器中打开一个bash shell,您可以cd 并打开and/or 下载您的项目文件以供检查。

这一行:

app = Flask(__name__)

是知道您正在 运行 一个 Flask 网络服务器 应用程序 .

的可靠方法

如果您关心您的应用程序 运行 在哪个 WSGI 服务器 下,检查您的 procfile(当 SSHing 到您的容器时您应该看到这个)将显示你用哪个命令启动你的应用程序。如果命令是

python <yourapp>.py

那么您正在 运行连接开发服务器。否则,您将 运行 宁一些其他 python 文件,很可能是通过服务器的命令而不是 python 命令,这会将您的应用程序作为依赖项导入。

您还可以查看在编译您的 Droplet 期间是否下载了任何 WSGI 服务器库,以及使用什么命令启动您的应用程序

cf logs <yourappname> --recent

部署后。

或者,您可以相信我,样板文件在 Flask 开发服务器下部署了一个 Flask 应用程序。

在不同的 WSGI 服务器上 运行ning Flask 的教程:

https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04