데몬화된 gunicorn의 프로세스의 기동, 정지, 확인을 하는 Bash 스크립트



환경


  • 우분투 20.04.2 LTS
  • GNU bash, 버전 5.0.17(1)-release (x86_64-pc-linux-gnu)
  • Python 3.8.10 (venv)
  • fastapi==0.65.2
    gunicorn==20.1.0
    setproctitle==1.2.2
    uvicorn==0.14.0
    

    패키지 설치


    pip install fastapi
    pip install gunicorn
    pip install setproctitle
    pip install uvicorn
    

    사용법



    파일 설정


  • gunicorn의 설정 파일 단위로, 기동, 정지를 실시할 수 있는 구성
  • ├── gunicorn_config            <-- gunicorn設定ファイル
    │   ├── guni_conf_prod.py
    │   └── guni_conf_staging.py
    ├── gunidaemonctl              <-- Bash script
    ├── main.py                    <-- Python Web app for prod
    └── main_fast_api.py           <-- Python Web app for staging
    

    시작


  • 다음은 스테이징을 시작하는 예입니다
  • ./gunidaemonctl start guni_conf_staging
    

    정지


    ./gunidaemonctl stop guni_conf_staging
    

    프로세스 목록


  • master 프로세스와 worker 프로세스의 일람을 확인한 예
  • ./gunidaemonctl ps guni_conf_staging
    
    ubuntu 1001 0.8 2.2 0 0 ? S 12:10 0:00 gunicorn: master [guni_conf_staging]
    ubuntu 1002 2.4 3.3 0 0 ? S 12:10 0:00 gunicorn: worker [guni_conf_staging]
    ubuntu 1003 2.4 3.3 0 0 ? S 12:10 0:00 gunicorn: worker [guni_conf_staging]
    

    마스터 프로세스 ID 확인


    ./gunidaemonctl pid guni_conf_staging
    
    master pid:
    1001
    

    Bash 스크립트 (github)



    면책사항


  • 세심한 주의를 기울여 작성하고 있습니다만,
  • 이 스크립트를 사용하여 발생한 모든 손상에 대해
  • 저자는 책임을 지지 않습니다.


  • 링크

    좋은 웹페이지 즐겨찾기