uWSGI 是在像 nginxlighttpd 以及 cherokee 服务器上的一个部署的选
择。更多选择见 FastCGI 独立 WSGI 容器
你会首先需要一个 uWSGI 服务器来用 uWSGI 协议来使用你的 WSGI 应用。 uWSGI 是
一个协议,同样也是一个应用服务器,可以提供 uWSGI 、FastCGI 和 HTTP 协议。

最流行的 uWSGI 服务器是 uwsgi ,我们会在本指导中使用。确保你已经安装
好它来跟随下面的说明。

注意

请提前确保你在应用文件中的任何 app.run() 调用在 if __name__ ==
'__main__': 块中或是移到一个独立的文件。这是因为它总会启动一个本地
的 WSGI 服务器,并且我们在部署应用到 uWSGI 时不需要它。

用 uwsgi 启动你的应用

uwsgi 被设计为操作在 python 模块中找到的 WSGI 可调用量。

已知在 myapp.py 中有一个 flask 应用,使用下面的命令:

$ uwsgi -s /tmp/uwsgi.sock --module myapp --callable app

或者,你喜欢这样:

$ uwsgi -s /tmp/uwsgi.sock -w myapp:app

配置 nginx

一个基本的 flaks uWSGI 的给 nginx 的 配置看起来是这样:

location = /yourapplication { rewrite ^ /yourapplication/; }
location /yourapplication { try_files $uri @yourapplication; }
location @yourapplication {
  include uwsgi_params;
  uwsgi_param SCRIPT_NAME /yourapplication;
  uwsgi_modifier1 30;
  uwsgi_pass unix:/tmp/uwsgi.sock;
}

这个配置绑定应用到 /yourapplication 。如果你想要绑定到 URL 根会更简单,因
你不许要告诉它 WSGI SCRIPT_NAME 或设置 uwsgi modifier 来使用它:

location / { try_files $uri @yourapplication; }
location @yourapplication {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/uwsgi.sock;
}

冒牌SEO

前端开发者,欢迎大家一起沟通和交流。

Share
Published by
冒牌SEO

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago