Flask 应用的部署
开发服务器上的 Flask 应用只能在配置了开发环境的计算机上使用。这是默认设置,因为在调试模式下用户可以在计算机上运行任意代码。
如果禁用调试,您可以通过将主机名设置为:0.0.0.0
,使本地计算机的开发服务器可供网络用户使用。
app.run(host = ’0.0.0.0’)
Python这样您的操作系统就会侦听所有公共 IP 地址,即处理所有请求。
部署
要从开发环境切换到完整的生产环境,应用程序必须部署在真实的 Web 服务器上。根据您的情况,部署 Flask Web 应用程序有不同的选项。
对于小型应用程序,请考虑将其部署在以下任何托管平台上,所有这些平台都为小型应用程序提供免费软件包。
- Heroku
- dotcloud
- webfaction
Flask 应用程序可以部署在这些云平台上。此外,Flask应用程序可以部署在Google Cloud Platform上。 Localtunnel 允许您在本地主机上共享您的应用程序,而不会弄乱 DNS 和防火墙设置。
如果您想使用单独的 Web 服务器而不是上面的共享平台,您可以使用以下选项。
mod_wsgi
mod_wsgi
是一个 Apache 模块,它提供了一个符合 WSGI 的接口,用于在 Apache 服务器上托管基于 Python 的 Web 应用程序。 ? 脚本 -
mod_wsgi-express start-server
Shell它启动Apache/mod_wsgi端口:8000。然后,您可以通过在浏览器中指向
http://localhost:8000/
Shell来创建 .wsgi 文件。该文件应为 yourapplication.wsgi。该文件包含代码mod_wsgi
,该代码在启动时执行以获取应用程序对象。对于大多数应用程序,以下文件应该足够了 -
from yourapplication import app as application
Shell 确保您的 应用程序
和所有使用的库都位于 python 下载路径中。
配置 Apache
需要应用程序所在的mod_wsgi
。请参阅以下配置 -
<VirtualHost *>
ServerName example.com
WSGIScriptAlias / C:\yourdir\yourapp.wsgi
<Directory C:\yourdir>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Shell自包含的 WSGI 容器
Python 有许多流行的服务器来托管 WSGI 应用程序并提供 HTTP 服务。
- 独角兽
- 龙卷风
- Gevent
- 扭曲的网
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。