ページ内ナビ
概要
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]
向いている用途
導入前の確認
参考にした公式資料
- [1]benoitc/gunicorn — GitHub repository(2026-10-06)
- [2]Gunicorn 26.2.2 — README(2026-10-06)
- [3]Gunicorn 26.2.2 — pyproject.toml(2026-10-06)
- [4]Gunicorn 26.2.2 release(2026-10-06)
- [5]Gunicorn 26.2.2 changelog(2026-10-06)
- [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
確認済みのGunicorn sourceを取得する
26.2.2の公式exampleを使えるよう、確認済みtagを固定して取得します。
git clone --depth 1 --branch 26.2.2 https://github.com/benoitc/gunicorn.git && cd gunicorn - 2
Gunicorn 26.2.2を導入する
同じversionのGunicornをPython 3.10以上の環境へ導入します。
python -m pip install "gunicorn==26.2.2" - 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
成長
成長の推移 · 直近30日
10,694 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Salvo4,438 Stars
共通タグ 2件
HTTP/1・2・3、OpenAPI、WebSocketまで一体で扱うRust Web framework
Rust - Eclipse Jetty4,097 Stars
共通タグ 2件
HTTP/1・2・3・WebSocket・Servletをstandalone/embeddedで扱うJava web server/container
Java - Netty35,068 Stars
共通タグ 1件 · 共通カテゴリ 2件
event loopとChannel pipelineを組み合わせ、高接続数のprotocol server/clientをJavaで構築する
Java - reqwest11,864 Stars
共通タグ 1件 · 共通カテゴリ 2件
async/blocking・JSON・TLS・proxyをまとめて扱うRust向けHTTP client
Rust - Uvicorn11,009 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
ASGIアプリをHTTP/1.1・HTTP/2・WebSocketで配信するPython Webサーバー
Python - aiohttp16,569 Stars
共通タグ 3件 · 同じ言語
asyncioでHTTP client・server・WebSocketを構築するPython framework
Python
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。