Gunicorn은 설정 정보를 다섯 곳에서 읽습니다.
Gunicorn은 먼저 일부 설정을 위해 환경 변수를 읽습니다. 설정에 대한 환경 변수를 먼저 읽습니다.
다음으로 Gunicorn은 프레임워크별 구성 파일에서 구성 정보를 읽습니다. 현재 이것은 Paster 응용 프로그램에만 영향을 미칩니다.
구성 정보의 세 번째 출처는 선택적 구성 파일인 gunicorn.conf.py
로, 현재 작업 디렉토리에서 검색되거나 명령 줄 인수를 사용하여 지정됩니다. 이 구성 파일에 지정된 내용은 프레임워크별 설정을 무시합니다.
구성 정보의 네 번째 위치는 GUNICORN_CMD_ARGS
라는 환경 변수에 저장된 명령 줄 인수입니다.
마지막으로 Gunicorn을 호출할 때 사용되는 명령 줄 인수는 구성 설정을 고려하는 마지막 위치입니다. 명령 줄에서 옵션을 지정하면 해당 값이 사용됩니다.
구성 파일이 명령 줄 인수 및 GUNICORN_CMD_ARGS
환경 변수에서 명시적으로 지정된 경우 명령 줄에서 명시된 구성 파일만 사용됩니다.
다시 한 번, 권한이 가장 낮은 순서로:
1. 환경 변수
2. 프레임워크 설정
3. 구성 파일
4. GUNICORN_CMD_ARGS
5. 명령 줄
참고
명령 줄 또는 구성 파일을 사용할 때 해결된 구성을 출력하려면 다음 명령을 실행할 수 있습니다.
$ gunicorn --print-config APP_MODULE
명령 줄 또는 구성 파일을 사용할 때 해결된 구성을 확인하려면 다음 명령을 실행할 수 있습니다.
$ gunicorn --check-config APP_MODULE
이 명령은 또한 응용 프로그램을 시작할 수 있는지 여부를 확인하는 데 도움이 됩니다.
명령 줄에서 옵션을 지정하면 응용 프로그램별 설정 또는 선택적 구성 파일에서 지정된 모든 값을 무시합니다. 모든 Gunicorn 설정이 명령 줄에서 설정할 수 있는 것은 아닙니다. 명령 줄 설정의 전체 목록을 보려면 다음을 수행할 수 있습니다.
$ gunicorn -h
또한 설정 목록에 나열되지 않은 --version
플래그도 명령 줄 스크립트에서 사용할 수 있습니다.
구성 파일은 python 확장자 (예: gunicorn.conf.py)가 있는 유효한 Python 소스 파일이어야 합니다. 파일 시스템에서 읽을 수만 있으면 됩니다. 구체적으로 모듈 경로 (sys.path, PYTHONPATH)에 있을 필요가 없습니다. 어떤 Python이든 유효합니다. 단, 이것은 Gunicorn을 시작할 때마다 실행될 것임을 고려하십시오 (Gunicorn을 다시로드할 때 포함).
매개 변수를 설정하려면 해당 값을 할당하면 됩니다. 특별한 구문이 필요하지 않습니다. 제공한 값은 구성 값에 사용됩니다.
예를 들어:
import multiprocessing
bind = "127.0.0.1:8000"
workers = multiprocessing.cpu_count() * 2 + 1
모든 설정은 설정 목록에 나와 있습니다.
현재로서는 Paster 응용 프로그램만 프레임워크별 설정에 액세스할 수 있습니다. WSGI 응용 프로그램에 설정을 제공하거나 Django의 settings.py에서 정보를 가져오는 방법을 제공하려면 문제를 제기해 주세요.
INI 파일에서 다음과 같이 Gunicorn을 서버로 사용하도록 지정할 수 있습니다.
[server:main]
use = egg:gunicorn#main
host = 192.168.0.1
port = 80
workers = 2
proc_name = brim
Gunicorn이 알고 있는 모든 매개 변수는 자동으로 기본 구성에 삽입됩니다. 이러한 값은 구성 파일 및/또는 명령 줄에 의해 재정의됩니다.