Python Falcon - 部署
可以使用启用了 mod_wsgi 模块的 Apache 服务器来部署 Falcon 网络应用程序,就像任何 WSGI 应用程序一样。 另一种选择是使用 uWSGI 或 gunicorn 进行部署。
uWSGI 是一个快速且高度可配置的 WSGI 服务器。 如果与 NGNIX 一起使用,它会在生产环境中以速度的形式提供更好的性能。
首先,使用 PIP 安装程序在 Python 虚拟环境中安装 Falcon 和 uWSGI,并使用 wsgi.py 将 Falcon 的应用程序对象暴露给 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 的请求。
安装 Ngnix,然后创建一个 NGINX 配置文件,看起来像这样 −
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 服务器。 您应该有一个运行的应用程序。