UWSGI組成
一、首先我們要知道uwsgi的組成,這樣才能在需要配置時精準找到需要配置的內容。uwsgi組成部分包含
- 核心(包含配置實現、進程管理、socket創建、監控、日誌、共享內存區域、IPC、進羣成員和UWSGI提交服務器)
- 請求插件(爲各種語言和平臺實現應用服務器接口:WSGI, PSGI, Rack, Lua WSAPI, CGI, PHP, Go …)
- 網關(實現負載均衡、代理、路由)
- Emperor(實施大規模實例管理和監控)
- 循環引擎(實現事件和併發,組件可以在preforking,線程,異步/事件和綠色線程/協程模式下運行。支持各種技術,包括uGreen,Greenlet,Stackless,Gevent,Coro :: AnyEvent,Tornado,Goroutines、Fibers)
官方介紹地址:官方文檔地址
二、配置選項
UWSGI配置選項:官方配置地址
參數解釋
一、master
master
argument: no_argument
shortcut: -M
parser: uwsgi_opt_true
help: enable master process
是否啓用主進程,示例
master:true
配置示意:啓用主進程,啓用主進程的話,重啓服務器時會等待所有請求結束。
使用場景:需要更新uwsgi時,可以通過設置master:true來實現,這樣重啓時會跳過socket初始化,重用之前的socket。
注意事項: 需要使用 信號 SIGHUP 才能實現等待請求結束,如果使用信號SIGTERM將不會等待請求結束,但會重用socket。