在 HTTPS 上运行 FLASK 应用程序
介绍
在开发FLASK 应用过程中,通常会运行开发 web 服务器,它提供了一个基本的、但功能齐全的 WSGI HTTP 服务器。但是当部署应用程序到生产环境中,需要考虑的事情之一是,是否应该要求客户端使用加密连接以增加安全性。
那么应该如何在 HTTPS 上运行 FLASK 应用程序呢?在这篇文章中,我将介绍几个为 Flask 应用程序添加加密功能的选项,从一个只需要5秒钟就可以实现的非常简单的解决方案,到一个健壮的A+ 评级的解决方案。
继续阅读 »
Flask应用中通常会用工厂模式
来创建应用对象,这样方便配置和测试。
应用代码
```python
app/init.py
from flask import Flask
from flask_xxxext import Xxx
from flask_yyyext import Yyy
... 一些flask拓展
xx = Xxx()
yy = Yyy()
继续阅读 »
使用 Flask 处理文件上传
Web 应用程序的一个常见特性是允许用户将文件上传到服务器。在 RFC 1867 中协议记录了客户端上传文件的机制,我们最喜欢的 Web 框架 Flask 完全支持这一机制,但是对于许多开发者来说,还有许多实现细节未遵循该正式规范。诸如在何处存储上传的文件,如何事后使用它们,或者如何保护服务器不受恶意文件上传的影响,这些都会产生很多混乱和不确定性。
继续阅读 »
使用 Systemd将Flask应用程序作为服务运行
在服务器上部署应用程序时,需要确保应用程序不间断地运行。如果应用程序崩溃,则希望它自动重启,如果服务器断电,则希望该应用程序在恢复电源后立即启动。 基本上,您需要的是监视应用程序并在发现不再运行时将其重启。
继续阅读 »
Sync 与 Async Python:有什么区别?
你有没有听人说过异步 Python 代码比“普通”(或同步) Python 代码更快?这怎么可能?在本文中,我将尝试解释什么是异步以及它与普通 Python 代码的区别。
more
继续阅读 »
忽略所有 Web性能基准测试,包括这个
几个月前,有一篇名为 Async Python is Not Faster 的文章在社交媒体上广为流传。在这篇文章中,作者 Cal Paterson 指出,与普遍的看法相反,异步 web 框架不仅“不比传统的同步框架快” ,而且还更慢。他通过展示他实施的相当完整的基准测试的结果来支持这一点。
我希望一切都像作者在他的博客文章中所说的那样简单,但是事实是,衡量Web应用程序的性能异常复杂,并且他在实施基准和对结果的解释上都犯了一些错误。
在本文中,你可以看到我在理解和修复此基准,重新运行该基准以及最终得出令人震惊的发现所做的努力。
继续阅读 »
之前没事看了一点 flask 和 werkzeug 的源码, 就想着试一下做一个简单的 WSGI Server。
说到 WSGI, 可以先从 CGI 说起,所谓 CGI(Common Gateway Interface),可以理解为 Web Server 调用本地的可执行文件来参生动态内容的方式。
参考 CGI-维基百科。
继续阅读 »
今天在使用Nginx给Uwsgi服务做反向代理的时候,遇到一个问题。配置步骤如下:
启动Uwsgi服务
在使用Flask框架的Python项目中,配置文件:uwsgi.ini的内容如下:
```
[uwsgi]
master = true
processes = 16
threads = 2
chdir=/xxx
socket = 127.0.0.1:1234
日志输出地址
logto = /xxx/uwsgi.log
daemonize = /xxx/uwsgi.log
reload
py-autoreload = 1
pid
pidfile = /xxx/uwsgi.pid
```
继续阅读 »