uwsgi 熱部署 熱啟動 熱更新


uwsgi選項大全:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/Options.html

uwsgi官方熱部署建議:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/articles/TheArtOfGracefulReloading.html

我這里介紹一下使用

touch-reload https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/articles/TheArtOfGracefulReloading.html#sighup

選項提供的熱部署方法。還有兩個相似選項:

touch-workers-reloadhttps://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/articles/TheArtOfGracefulReloading.html#lazy-appsworker

touch-chain-reloadhttps://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/articles/TheArtOfGracefulReloading.html#lazy-apps

uwsgi的選項使用方法有兩種:

1,在啟動uwsgi的命令中加入選項,但選項前必須帶--(兩橫)

2,在配置文件中拿一行出來填入一個選項,不帶--

通常啟動uwsgi的命令中要指定配置文件,比如:

$ /home/me/py/venvs/web1/bin/uwsgi /home/me/py/www/web1/uwsgi.ini
#第一個是虛擬環境中的uwsgi程序,第二個是配置文件

所以怎么加選項就看你自己了。

選項有兩種,一種必須帶參數,一種不帶參數。

方法1中,帶參數直接在選項后隔個空格加入參數,不帶的就不用加,如:

$ /home/me/py/venvs/web1/bin/uwsgi /home/me/py/www/web1/uwsgi.ini --touch-chain-reload <文件路徑> --lazy-apps
#兩個選項,touch-chain-reload和lazy-apps

方法2中,帶參數的就用個等號加參數,不帶的就用等號加個true,如:

[uwsgi]
touch-chain-reload = <文件路徑>
lazy-apps = true
(...其他配置)

lazy-apps選項請參考(https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/articles/TheArtOfGracefulReloading.html#preforking-vs-lazy-apps-vs-lazy

但我發現這三種touch選項只能對單個文件生效,而不能指定文件夾,目前就只能多指定幾個關鍵文件了。

 

如果使用supervisor管理,需要在配置更改后restart項目。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM