> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Gunicorn の使い方

> Python の HTTP サーバーである Gunicorn の使い方を学びましょう。

## はじめに

* この記事では、Python の WSGI HTTP サーバーである Gunicorn の使い方について解説します。
* はじめる前に、お使いの環境に Python と Gunicorn がインストールされていることを確認してください。Gunicorn は次のコマンドでインストールできます。

```bash theme={null}
pip install gunicorn
```

## 基本的な使い方

Gunicorn を使って Python の Web アプリケーションを実行するには、flask や django などのフレームワークによる WSGI アプリケーションが必要です。\
アプリケーションの準備ができたら、WSGI アプリケーションオブジェクトを含むモジュール名と変数名を把握しておく必要があります。\
たとえば、`app.py` というファイルに Flask アプリケーションがあり、Flask インスタンスの名前が `app` の場合、次のコマンドで Gunicorn を使って実行できます。

```bash theme={null}
python -m gunicorn --bind 0.0.0.0:80 app:app 
```

このコマンドでは、

* `python -m gunicorn` は Gunicorn を Python モジュールとして実行します。
* `--bind 0.0.0.0:80` は、すべてのネットワークインターフェースのポート 80 で待ち受けるよう Gunicorn に指示します。
* `app:app` は、WSGI アプリケーションオブジェクトを含むモジュール名（`app`）と変数名（`app`）を指定します。

## その他のオプション

Gunicorn には動作をカスタマイズするためのオプションがいくつか用意されています。ここではいくつかのオプションを紹介します。

### Workers

* `--workers <number>`

このオプションは、リクエストを処理するワーカープロセスの数を設定します。一般的には CPU コアあたり 2〜4 個のワーカーを使用します。\
ワーカー数は次の計算式で求められます。`(2 x $num_cores) + 1`。

### Name

* `--name <name>`
* `-n <name>`

このオプションは、Gunicorn のプロセス名を設定します。

### Worker-class

* `--worker-class <class>`
* `-k <class>`

このオプションは、使用するワーカーの種類を設定します。デフォルトは `sync` ですが、`gevent`、`eventlet`、`tornado` などのワーカータイプも使用できます。

### Paste

* `--paste <configfile>`

このオプションを使うと、PasteDeploy 設定ファイルを読み込むことができます。
これは、PasteDeploy ファイルを使用する Pyramid や Turbogear などのフレームワークで役立ちます。

## その他

Gunicorn には、[公式ドキュメント](https://docs.gunicorn.org/en/stable/settings.html) で確認できるさらに多くのオプションや機能があります。

### 設定ファイル

* Gunicorn のオプションを設定するために、設定ファイルを作成することもできます。
  このファイルは Python 形式で記述でき、`gunicorn.config.py` という名前を付けます。

```python gunicorn.config.py theme={null}
import multiprocessing

bind = "0.0.0.0:80"
workers = multiprocessing.cpu_count() * 2 + 1
```

## この記事は役に立ちましたか？

* 私たちは可能な限り最良のサポートを提供するため、細心の注意を払ってこのコンテンツを作成しました。
  この記事が少しでもお役に立ったなら、ぜひ私たちの活動を応援してください。レビューを残していただけると、あなたにとって何が最も重要かを理解する助けになります。

<CardGroup cols={2}>
  <Card title="Google レビュー" icon="google" href="https://g.page/r/CYZenpQcDgTzEAI/review">
    Google レビューにあなたのレビューを残してください。
  </Card>

  <Card title="Trustpilot" icon="star" href="https://www.trustpilot.com/review/squarecloud.app">
    Trustpilot にあなたのレビューを残してください。
  </Card>
</CardGroup>
