"Gunicorn 'Green Unicorn'은 UNIX용 Python WSGI HTTP 서버입니다. 이는 Ruby의 Unicorn 프로젝트에서 이식된 프리-포크 워커 모델입니다. Gunicorn 서버는 다양한 웹 프레임워크와 널리 호환되며 구현이 간단하며 서버 자원을 적게 사용하며 비교적 빠릅니다.
요구 사항: | Python 3.x >= 3.5 |
---|
Gunicorn의 최신 릴리스 버전을 설치하려면 다음과 같이 합니다:
$ pip install gunicorn
다른 Python 패키지를 설치하는 것과 마찬가지로 소스에서 Gunicorn을 설치할 수 있습니다:
$ pip install git+https://github.com/benoitc/gunicorn.git
이렇게 하면 GitHub에서 개발 내용을 계속해서 업데이트할 수 있습니다:
$ pip install -U git+https://github.com/benoitc/gunicorn.git
요청 처리 중에 응용 프로그램 코드가 긴 시간 동안 대기해야 할 것으로 예상되는 경우, Eventlet 또는 Gevent 를 설치하려고 할 수도 있습니다. 대체 워커 유형 중 어느 것을 고려해야 하는지에 대한 자세한 내용은 디자인 문서 를 확인하십시오.
$ pip install greenlet # 둘 다 필요
$ pip install eventlet # Eventlet 워커용
$ pip install gunicorn[eventlet] # 또는, extra를 사용하여
$ pip install gevent # Gevent 워커용
$ pip install gunicorn[gevent] # 또는, extra를 사용하여
참고
둘 다 greenlet
을 필요로 하며, 이는 자동으로 설치될 것입니다. 설치에 실패하는 경우, 아마도 Python 헤더를 설치해야 할 것입니다. 이러한 헤더는 대부분의 패키지 관리자에서 사용할 수 있습니다. Ubuntu에서는 apt-get
에 대한 패키지 이름이 python-dev
입니다.
Gevent 는 또한 libevent
1.4.x 또는 2.0.4이 설치되어야 합니다. 이는 패키지 관리자에서 사용 가능한 버전보다 최신 버전일 수 있습니다. Gevent 가 설치되지 않고 빌드에 실패하는 경우 이것이 가장 가능성 있는 이유입니다.
일부 Gunicorn 옵션에는 추가 패키지가 필요할 수 있습니다. Gunicorn과 동시에 이러한 패키지를 설치하려면 [extra]
구문을 사용할 수 있습니다.
대부분의 추가 패키지는 대체 워커 유형에 필요합니다. 대체 워커 유형을 고려해야 할 때 더 많은 정보를 위해 디자인 문서 를 참조하십시오.
gunicorn[eventlet]
- Eventlet 기반 greenlet 워커gunicorn[gevent]
- Gevent 기반 greenlet 워커gunicorn[gthread]
- 스레드 워커gunicorn[tornado]
- Tornado 기반 워커, 권장하지 않음여러 개의 추가 패키지를 결합할 수 있습니다. 예를 들어 pip install gunicorn[gevent,setproctitle]
와 같이 사용할 수 있습니다.
Debian GNU/Linux을 사용하는 경우 Gunicorn을 설치할 때 시스템 패키지를 사용하는 것이 좋습니다. 가상 환경에서 Gunicorn의 다른 버전을 사용하려는 경우를 제외하고 이러한 패키지를 사용하는 것이 좋습니다. 이러한 방식에는 여러 가지 장점이 있습니다:
/etc/gunicorn.d
에 정의된 구성을 기반으로 자동으로 여러 Gunicorn 인스턴스를 시작합니다./var/log/gunicorn
)가 제공됩니다. 로그는 logrotate
를 사용하여 자동으로 로테이트되고 압축될 수 있습니다.Debian “stable” 배포판에 있는 Gunicorn 버전은 19.9.0 (2020년 12월)입니다. 다음 명령을 사용하여 설치할 수 있습니다:
$ sudo apt-get install gunicorn3
또한 Debian Backports를 사용하여 최신 버전 20.0.4 (2020년
12월)를 사용할 수 있습니다. 먼저 다음 라인을 /etc/apt/sources.list
에 복사하십시오:
deb http://ftp.debian.org/debian buster-backports main
그런 다음 로컬 패키지 목록을 업데이트합니다:
$ sudo apt-get update
그런 다음 다음 명령을 사용하여 최신 버전을 설치할 수 있습니다:
$ sudo apt-get -t buster-backports install gunicorn
Stretch 이상의 Debian 릴리스에서는 gunicorn 패키지 또는 gunicorn3 패키지를 설치하면 Python 3 지원을 받을 수 있습니다. Debian "oldstable" 배포판에 있는 Gunicorn 버전은 19.6.0 (2020년 12월)입니다. 다음 명령을 사용하여 설치할 수 있습니다:
$ sudo apt-get install gunicorn3
또한 Debian Backports를 사용하여 최신 버전 19.7.1 (2020년 12월)를 사용할 수 있습니다. 먼저 다음 라인을 /etc/apt/sources.list
에 복사하십시오:
deb http://ftp.debian.org/debian stretch-backports main
그런 다음 로컬 패키지 목록을 업데이트합니다:
$ sudo apt-get update
그런 다음 다음 명령을 사용하여 최신 버전을 설치할 수 있습니다:
$ sudo apt-get -t stretch-backports install gunicorn3
“bullseye”와 “sid”에는 최신 릴리스 버전인 20.0.4 (2020년 12월)이 포함되어 있습니다. 보통 다음과 같이 설치할 수 있습니다:
$ sudo apt-get install gunicorn
Ubuntu 20.04 LTS (Focal Fossa) 이상에는 기본적으로 Gunicorn 패키지가 포함되어 있으므로 다음과 같이 설치할 수 있습니다:
$ sudo apt-get update
$ sudo apt-get install gunicorn