跨平台,可以用於生產部署
- waitress文檔:https://docs.pylonsproject.org/projects/waitress/en/stable/runner.html
- flask deploy https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/
用法:
waitress-serve [OPTS] MODULE:OBJECT
常用選項:
--help
顯示此信息。
--call
調用給定的對象以獲取WSGI應用程序。
--host=ADDR
要偵聽的主機名或IP地址,默認值為“ 0.0.0.0”,表示“此主機上的所有IP地址”。
--port=PORT
要偵聽的TCP端口,默認為“ 8080”
--listen=host:port
告訴waitress 監聽的IP端口。
例子:
--listen = 127.0.0.1:8080 --listen = [:: 1]:8080 --listen = *:8080
可以多次使用此選項以偵聽multipe套接字。還支持主機名的通配符,該通配符將綁定到IPv4 / IPv6,具體取決於它們是啟用還是禁用。
--[no-]ipv4
啟用/禁用IPv4支持。
在偵聽通配符地址/端口組合時,這會影響通配符匹配。
--[no-]ipv6
啟用/禁用IPv6支持。
在偵聽通配符地址/端口組合時,這會影響通配符匹配。
--unix-socket=PATH
Unix套接字的路徑。如果指定了套接字路徑,則會創建一個Unix域套接字,而不是通常的inet域套接字。
在Windows上不可用。
--unix-socket-perms=PERMS
用於Unix域套接字的八進制權限,默認值為'600'。
--url-scheme=STR
默認wsgi.url_scheme值,默認為“ http”。
--url-prefix=STR
該SCRIPT_NAMEWSGI環境價值。將其設置為除空字符串之外的任何SCRIPT_NAME值,將使WSGI值成為傳遞的值減去您添加的任何斜杠,並且將導致 PATH_INFO帶有該值前綴的所有請求的前綴均被刪除。默認為空字符串。
--ident=STR
響應中“服務器”標頭中使用的服務器身份。默認值為“waitress”。
調整選項:
--threads=INT
用於處理應用程序邏輯的線程數,默認為4。
--backlog=INT
服務器的連接積壓。默認值為1024。
--recv-bytes=INT
調用時要請求的字節數socket.recv()。默認值為8192。
--send-bytes=INT
要發送到socket.send()的字節數。默認值為1。9000的倍數應避免部分填充TCP數據包。
從1.3版開始不推薦使用。
--outbuf-overflow=INT
如果掛起的輸出大於此大小,則應創建一個臨時文件。默認值為1048576(1MB)。
--outbuf-high-watermark=INT
當掛起的輸出大於此值時,app_iter將暫停,並在將足夠的數據寫入套接字以使其降至此閾值以下時將恢復。默認值為16777216(16MB)。
--inbuf-overflow=INT
如果掛起的輸入大於此值,則應創建一個臨時文件。默認值為524288(512KB)。
--connection-limit=INT
如果已經激活了太多頻道,請停止創建新頻道。默認值為100。
--cleanup-interval=INT
清理無效通道之間的最短間隔時間。默認值為30。請參見 --channel-timeout。
--channel-timeout=INT
保持不活動連接打開的最大秒數。默認值為120。“不活動”定義為“未從客戶端收到任何數據,也未向客戶端發送任何數據”。
--[no-]log-socket-errors
切換是否應記錄客戶端過早斷開連接的回溯。默認情況下為開。
--max-request-header-size=INT
合並所有請求標頭的最大大小。默認值為262144(256KB)。
--max-request-body-size=INT
請求正文的最大大小。默認值為1073741824(1GB)。
--[no-]expose-tracebacks
切換是否向客戶端公開未處理異常的回溯。默認情況下關閉。
--asyncore-loop-timeout=INT
以秒為單位的超時值傳遞到asyncore.loop()。默認值為1。
--asyncore-use-poll
use_poll參數傳遞給asyncore.loop()。幫助克服打開文件描述符的限制。默認值為False。
