Python Falcon - 部署



可以使用啟用 mod_wsgi 模組的 Apache 伺服器部署 Falcon Web 應用,就像任何 WSGI 應用一樣。另一種選擇是將 uWSGIgunicorn 用於部署。

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 伺服器。你應該有一個正在執行的工作應用程式了。

廣告
© . All rights reserved.