Gunicorn教學
細數flask使用gunicorn的坑…
你要先知道
問題都在log檔案配置上面
如果用deamon不會顯示訊息
如果你的flask有session驗證的部分,worker數量建議用1,不然會機率性出現HTTP 500,因為可能在
/
跟在/callback
兩個不同路徑時會切換到不同worker導致session遺失。不然就是要把session寫在資料庫na
設定檔
使用設定檔可以讓你更方便的去啟動gunicorn 不用每次都抄一堆參數,當然如果是小project根本沒差
path
假設今天有個flask檔案叫main.py
,位於/flaskapp/main.py
那gunicorn的設定檔就要寫在跟main.py
同級的/flaskapp/gun.conf.py
有些人可能google查到會叫你檔名用gun.conf,但在以前的版本中會出現非常多bug,建議使用gun.conf.py
,python檔案去寫。
撰寫 gun.conf.py
1 | import os |
command
使用conf設定檔 啟動專案
後面那個main:app
main指的是要啟用的flask app的檔名 指的是main.py
app指的就是在main.py
中要啟用的module名字,就是app = Flask(__name__)
的那個app
1 | gunicorn --config=gun.conf.py main:app |
查看目前所有gunicorn的pid
1 | pstree -ap | grep gunicorn |
成功之後會看到這樣
最上面的為根進程,一定要刪根,刪子的話會刪不掉ㄛ
刪除gunicorn任務
1 | kill -p <root pid> |
重啟gunicorn任務
1 | kill -HUP <root pid> |
- 標題: Gunicorn教學
- 作者: slash
- 撰寫于: 2022-06-01 01:50:40
- 更新于: 2023-04-25 00:58:47
- 連結: https://slasholy.tw/2022/06/01/gunicorn01/
- 版權宣告: 本作品采用 CC BY-NC-SA 4.0 进行许可。