### 导航
- [索引](# "总目录")
- [下一页](# "FastCGI") |
- [上一页](# "独立 WSGI 容器") |
- [Flask 0.10.1 文档](#) »
- [部署选择](#) »
# uWSGI
uWSGI 是在像 [nginx](http://nginx.org/) [http://nginx.org/] 、 [lighttpd](http://www.lighttpd.net/) [http://www.lighttpd.net/] 以及 [cherokee](http://www.cherokee-project.com/) [http://www.cherokee-project.com/] 服务器上的一个部署的选择。更多选择见 [*FastCGI*](#) 和 [*独立 WSGI 容器*](#) 。你会首先需要一个 uWSGI 服务器来用 uWSGI 协议来使用你的 WSGI 应用。 uWSGI 是一个协议,同样也是一个应用服务器,可以提供 uWSGI 、FastCGI 和 HTTP 协议。
最流行的 uWSGI 服务器是 [uwsgi](http://projects.unbit.it/uwsgi/) [http://projects.unbit.it/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;
}
~~~
© 版权所有 2013, Armin Ronacher.
- 欢迎使用 Flask
- 前言
- 给有经验程序员的前言
- 安装
- 快速入门
- 教程
- 介绍 Flaskr
- 步骤 0: 创建文件夹
- 步骤 1: 数据库模式
- 步骤 2: 应用设置代码
- 步骤 3: 创建数据库
- 步骤 4: 请求数据库连接
- 步骤 5: 视图函数
- 步骤 6: 模板
- 步骤 7: 添加样式
- 福利: 应用测试
- 模板
- 测试 Flask 应用
- 记录应用错误
- 配置处理
- 信号
- 即插视图
- 应用上下文
- 请求上下文
- 用蓝图实现模块化的应用
- Flask 扩展
- 与 Shell 共舞
- Flask 代码模式
- 大型应用
- 应用程序的工厂函数
- 应用调度
- 使用 URL 处理器
- 部署和分发
- 使用 Fabric 部署
- 在 Flask 中使用 SQLite 3
- 在 Flask 中使用 SQLAlchemy
- 上传文件
- 缓存
- 视图装饰器
- 使用 WTForms 进行表单验证
- 模板继承
- 消息闪现
- 用 jQuery 实现 Ajax
- 自定义错误页面
- 延迟加载视图
- 在 Flask 中使用 MongoKit
- 添加 Favicon
- 数据流
- 延迟请求回调
- 添加 HTTP Method Overrides
- 请求内容校验码
- 基于 Celery 的后台任务
- 部署选择
- mod_wsgi (Apache)
- 独立 WSGI 容器
- uWSGI
- FastCGI
- CGI
- 聚沙成塔
- API
- JSON 支持
- Flask 中的设计决策
- HTML/XHTML 常见问题
- 安全注意事项
- Flask 中的 Unicode
- Flask 扩展开发
- Pocoo 风格指引
- Python 3 支持
- 升级到最新版本
- Flask Changelog
- 许可证
- 术语表