OSS探訪GitHubでログイン

prefork型のworker管理でPython WSGI・ASGIアプリを配信するUNIX向けHTTPサーバー

OSS規模スコア 290.6OSS健全度 100
スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
10,694
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/09/06
ページ内ナビ

概要

GunicornはUNIX向けのPython HTTPサーバーです。Unicorn由来のprefork workerモデルでプロセスを管理し、DjangoやFlaskなどのWSGIアプリに加えて、現在はFastAPIやStarlette向けのASGI worker、beta版HTTP/2も提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

masterと複数workerでPython Webアプリのプロセスを管理する

preforkモデルでworkerを起動・監視し、sync、gthread、gevent、ASGIなど複数のworker方式を選べます。WSGIではDjangoやFlaskなど、ASGI workerではFastAPIやStarletteなどを同じ運用基盤から起動できます。

出典:[2]

HTTP/2・uWSGI protocol・gracefulなworker制御まで配信層を拡張する

26系はbeta版HTTP/2、nginx連携向けuWSGI binary protocol、workerのgracefulな管理を提供します。HTTP/2用dependencyやworker方式は用途ごとに選択でき、本番の接続処理をアプリケーションから分離できます。

出典:[2][3]

向いている用途

Python Webアプリをreverse proxy配下で複数process運用したいバックエンドに向く

WSGIまたはASGIアプリを複数workerで配信し、プロセスの再起動やworker方式をアプリ外で制御したい構成に適します。既存のUNIX/POSIX運用へ組み込みやすいserverです。

出典:[2][3]

導入前の確認

Python 3.10以上・UNIX/POSIX前提を確認し、HTTP/2とASGIはworker/protocol別に検証する

Gunicorn 26.2.2はPython 3.10以上を要求し、主対象はUNIX/POSIX環境です。HTTP/2はbeta機能です。また26.2.2ではASGI workerがHTTP/1.1接続を閉じる際のConnection: close処理が修正されました。HTTP/2やASGIを使う場合は、採用するworkerとprotocolの組合せで接続再利用やgraceful shutdownを回帰確認してください。

出典:[3][4][5]

参考にした公式資料

  1. [1]benoitc/gunicorn — GitHub repository(2026-10-06)
  2. [2]Gunicorn 26.2.2 — README(2026-10-06)
  3. [3]Gunicorn 26.2.2 — pyproject.toml(2026-10-06)
  4. [4]Gunicorn 26.2.2 release(2026-10-06)
  5. [5]Gunicorn 26.2.2 changelog(2026-10-06)
  6. [6]Gunicorn MIT license(2026-10-06)
編集部からの補足

DjangoやFlaskのWSGI運用だけでなくASGI workerも選べますが、worker方式とHTTP protocolの組合せで挙動が変わります。特にHTTP/2はbetaのため、既存のreverse proxy・keepalive・graceful shutdown条件で検証してから採用するのが安全です。

3ステップで試す

  1. 1

    確認済みのGunicorn sourceを取得する

    26.2.2の公式exampleを使えるよう、確認済みtagを固定して取得します。

    git clone --depth 1 --branch 26.2.2 https://github.com/benoitc/gunicorn.git && cd gunicorn
  2. 2

    Gunicorn 26.2.2を導入する

    同じversionのGunicornをPython 3.10以上の環境へ導入します。

    python -m pip install "gunicorn==26.2.2"
  3. 3

    公式WSGI exampleを4 workerで起動する

    READMEのQuick Startとrepository内のexamples/test.pyを組み合わせて起動し、http://127.0.0.1:8000/でHello, World!を確認します。

    gunicorn examples.test:app --workers 4
公式READMEで確認

成長

成長の推移 · 直近30日

10,694 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • http
  • http-server
  • python
  • wsgi
  • wsgi-server
Stars
10,694
Forks
1,863
Watchers
218
Open Issues
122
Contributors
372
所有者種別
User
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/09/06

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?