### 導航
- [索引](# "總目錄")
- [下一頁](# "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
- 許可證
- 術語表