- Python Falcon 教程
- Python Falcon - 主页
- Python Falcon - 简介
- Python Falcon - 环境设置
- Python Falcon - WSGI vs ASGI
- Python Falcon - Hello World(WSGI)
- Python Falcon - Waitress
- Python Falcon - ASGI
- Python Falcon - Uvicorn
- Python Falcon - API 测试工具
- 请求和响应
- Python Falcon - 资源类
- Python Falcon - 应用类
- Python Falcon - 路由
- Falcon - 带后缀的响应器
- Python Falcon - Inspect 模块
- Python Falcon - Jinja2 模板
- Python Falcon - Cookie
- Python Falcon - 状态码
- Python Falcon - 错误处理
- Python Falcon - Hook
- Python Falcon - 中间件
- Python Falcon - CORS
- Python Falcon - WebSocket
- Python Falcon - Sqlalchemy 模型
- Python Falcon - 测试
- Python Falcon - 部署
- Python Falcon 有用资源
- Python Falcon - 快速指南
- Python Falcon - 有用资源
- Python Falcon - 讨论
Python Falcon - 部署
可以使用启用 mod_wsgi 模块的 Apache 服务器部署 Falcon Web 应用,就像任何 WSGI 应用一样。另一种选择是将 uWSGI 或 gunicorn 用于部署。
UWSGI 是一个快速且高度可配置的 WSGI 服务器。如果与 NGINX 一起使用,它会在生产就绪环境中以速度的形式提供更好的性能。
首先,在 Python 虚拟环境中使用 PIP 安装程序安装 Falcon 和 uWSGI,并将 Falcon 的应用程序对象通过 wsgi.py 暴露给 uWSGI,如下所示 −
import os import myapp config = myproject.get_config(os.environ['MYAPP_CONFIG']) application = myapp.create(config)
要配置 uWSGI,准备一个 uwsgi.ini 脚本,如下所示 −
[uwsgi] master = 1 vacuum = true socket = 127.0.0.1:8080 enable-threads = true thunder-lock = true threads = 2 processes = 2 virtualenv = /path/to/venv wsgi-file = venv/src/wsgi.py chdir = venv/src uid = myapp-runner gid = myapp-runner
你现在可以像这样启动 uWSGI −
venv/bin/uwsgi -c uwsgi.ini
尽管 uWSGI 可以直接处理 HTTP 请求,但使用诸如 NGINX 这样的反向代理可能会有所帮助。NGINX 本身支持 uwsgi 协议,用于向 uWSGI 有效代理请求。
安装 Nginx,然后创建一个看起来像这样的 NGINX conf 文件 −
server { listen 80; server_name myproject.com; access_log /var/log/nginx/myproject-access.log; error_log /var/log/nginx/myproject-error.log warn; location / { uwsgi_pass 127.0.0.1:8080 include uwsgi_params; } }
最后启动 Nginx 服务器。你应该有一个正在运行的工作应用程序了。
广告