Gunicornの公式ドキュメントを和訳して公開
- その1はインストールのページ
- 太字部分は翻訳者のコメント
- ページの最後に用語集があります。
インストール
推奨 Python 3系 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 をインストールすることもできます。代替ワーカー タイプのいずれかを検討する必要がある場合の詳細については、「design」の項を確認してください。
※「design」は別ページにあります。
$ pip install greenlet # Required for both
$ pip install eventlet # For eventlet workers
$ pip install gunicorn[eventlet] # Or, using extra
$ pip install gevent # For gevent workers
$ pip install gunicorn[gevent] # Or, using extra
ノート
どちらも
greenlet
が必要で、自動的にインストールされます。インストールが失敗した場合は、おそらくPython ヘッダーをインストールする必要があります。これらのヘッダーは、ほとんどのパッケージマネージャーで使用できます。Ubuntuでいうと、apt-get
という名前がPythonのパッケージパッケージマネージャのことです。
Gevent には、libevent
1.4.x または 2.0.4 がインストールされていることも必要です。これは、パッケージマネージャーで利用可能なバージョンよりも新しいバージョンである可能性があります。 libevent がインストールされていても Gevent がビルドに失敗する場合、これが原因である可能性が最も高いです。
※翻訳者のコメント
「非同期処理をしたい場合は、EventletかGeventのどちらかのライブラリを別途インストールしてね。」ということ。非同期処理をしない場合は気にしなくてよいと思われます。
追加パッケージ
一部の Gunicorn オプションには、追加のパッケージが必要です。extra
構文を使用して、これらを Gunicorn と同時にインストールできます。
ほとんどの追加パッケージは、代替ワーカータイプが必要です。代替ワーカー タイプの検討の必要がある場合には、「design」の項で参照してください。
※「design」は別ページにあります。
gunicorn[eventlet]
– Eventlet ベースの greenlets ワーカーgunicorn[gevent]
– Gevent ベースの greenlets ワーカーgunicorn[gthread]
– スレッドワーカーgunicorn[tornado]
– トルネードベースのワーカー、非推奨
翻訳者のコメント
上記の4つ、おそらく頭のpipを省略していると解釈してOK
Gunicorn の複数のインスタンスを実行している場合、プロセス名の設定は、「ps」や「top」等のツールでインスタンスを区別するのに役立ちます。
gunicorn[setproctitle]
– プロセス名の設定を有効にします。
下記のように、複数の追加パッケージを一括でインストールできます。
pip install gunicorn[gevent,setproctitle]
Debian GNU/Linux
翻訳者はgunicornをubuntuでしか使う予定ないので、ここの翻訳は省略します。
ubuntu
Ubuntu 20.04 LTS (Focal Fossa) 以降には、デフォルトで Gunicorn パッケージ 20.0.4 (2020 年 12 月) が含まれているため、通常の方法でインストールできます。
$ sudo apt-get update
$ sudo apt-get install gunicorn
用語集
Worker
機械翻訳では、「Async Workers」→「非同期ワーカー」等と訳される。
どうも「ワーカープロセス」のプロセスの部分が省略されている模様。
ワーカープロセスとは、コードを実行するサーバー上のバックグラウンドプロセスのことらしい。
Greenlet
Greenletとは、グリーンスレッド実装の一つ。これを使うと、プログラムの処理を一旦停止して別の処理をおこなうコルーチンが簡単に実現できるらしい。
グリーンスレット
OSが管理するスレッドと違って,ユーザのプログラムによって管理されるスレッド、マイクロスレッドと呼んだりもするらしい。
「ps」、「top」
Linuxでプロセスを監視するためのコマンド
コメント