Flask部署
开发服务器上的Flask应用程序只能在设置了开发环境的计算机上访问。 这是一种默认行为,因为在调试模式下,用户可以在计算机上执行任意代码。
如果禁用了调试,则通过将主机名设置为:0.0.0.0
,可以使网络上的用户可以使用本地计算机上的开发服务器。
app.run(host = ’0.0.0.0’)
这样,您的操作系统会侦听所有公共IP,也就是说,所有请求都会被处理。
部署
要从开发环境切换到完整的生产环境,应用程序需要部署在真正的Web服务器上。 根据您的具体情况,可以使用不同的选项来部署Flask Web应用程序。
对于小型应用程序,可以考虑将其部署在以下任何托管平台上,所有这些平台都提供针对小型应用程序的免费计划。
- Heroku
- dotcloud
- webfaction
Flask应用程序可以部署在这些云平台上。 另外,可以在Google云平台上部署Flask应用程序。 Localtunnel服务允许您在本地主机上共享您的应用程序,而不会混淆DNS和防火墙设置。
如果您倾向于使用专用Web服务器来代替上述共享平台,则可以使用以下选项。
mod_wsgi
mod_wsgi
是一个Apache模块,它提供了一个用于在Apache服务器上托管基于Python的Web应用程序的WSGI兼容接口。
安装mod_wsgi
要从PyPi直接安装正式版本,可以运行 -
pip install mod_wsgi
要验证安装是否成功,使用start-server
命令运行mod_wsgi-express
脚本 -
mod_wsgi-express start-server
它将在端口:8000上启动Apache/mod_wsgi。然后,可以通过将浏览器指向 -
http://localhost:8000/
创建.wsgi文件
应该有一个yourapplication.wsgi 文件。 该文件包含代码mod_wsgi
,该代码在启动时执行以获取应用程序对象。 对于大多数应用程序,以下文件应该足够 -
from yourapplication import app as application
确保yourapplication
和所有正在使用的库位于python加载路径上。
配置Apache
需要告诉mod_wsgi
,应用程序的位置。参考以下配置 -
<VirtualHost *>
ServerName example.com
WSGIScriptAlias / C:\yourdir\yourapp.wsgi
<Directory C:\yourdir>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
独立的WSGI容器
有许多以Python编写的流行服务器,其中包含WSGI应用程序并提供HTTP服务。
- Gunicorn
- Tornado
- Gevent
- Twisted Web
点击查看所有 Flask教程 文章: https://www.codercto.com/courses/l/47.html
Compilers
Alfred V. Aho、Monica S. Lam、Ravi Sethi、Jeffrey D. Ullman / Addison Wesley / 2006-9-10 / USD 186.80
This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised ......一起来看看 《Compilers》 这本书的介绍吧!