python:gunicorn

Gunicorn - Python WSGI HTTP Server for UNIX

dnf によるインストール。

$ sudo dnf install python3-gunicorn
メタデータの期限切れの最終確認: 0:01:18 時間前の 2020年04月25日 08時25分04秒 に実施しました。
依存関係が解決しました。
=====================================================================================
 Package                  Architecture   Version                Repository      Size
=====================================================================================
インストール:
 python3-gunicorn         noarch         19.9.0-5.fc31          fedora         208 k

トランザクションの概要
=====================================================================================
インストール  1 パッケージ

合計サイズ: 208 k
インストール済みのサイズ: 779 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
[SKIPPED] python3-gunicorn-19.9.0-5.fc31.noarch.rpm: Already downloaded
-------------------------------------------------------------------------------------
合計                                                  20 MB/s | 208 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                             1/1
  インストール中   : python3-gunicorn-19.9.0-5.fc31.noarch                       1/1
  scriptletの実行中: python3-gunicorn-19.9.0-5.fc31.noarch                       1/1
  検証             : python3-gunicorn-19.9.0-5.fc31.noarch                       1/1

インストール済み:
  python3-gunicorn-19.9.0-5.fc31.noarch

完了しました!

pip によるインストール。

$ pip install gunicorn
Collecting gunicorn
  Downloading gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
     |████████████████████████████████| 77 kB 412 kB/s
Requirement already satisfied: setuptools>=3.0 in ./py3dj3_venv/lib/python3.7/site-packages (from gunicorn) (41.6.0)
Installing collected packages: gunicorn
Successfully installed gunicorn-20.0.4

Python バージョン確認

$ python -VV
Python 3.7.6 (default, Jan 30 2020, 09:44:41)
[GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]

Python 仮想環境の作成

$ python -m venv py3dj3_venv

Python 仮想環境の有効化

$ . py3dj3_venv/bin/activate
(py3dj3_venv) $

Python 仮想環境の pip を更新

(py3dj3_venv) $ python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.1.1
    Uninstalling pip-19.1.1:
      Successfully uninstalled pip-19.1.1
Successfully installed pip-20.0.2

Django のインストール

(py3dj3_venv) $ pip install django
Collecting django
  Using cached Django-3.0.5-py3-none-any.whl (7.5 MB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Collecting pytz
  Using cached pytz-2019.3-py2.py3-none-any.whl (509 kB)
Collecting asgiref~=3.2
  Using cached asgiref-3.2.7-py2.py3-none-any.whl (19 kB)
Installing collected packages: sqlparse, pytz, asgiref, django
Successfully installed asgiref-3.2.7 django-3.0.5 pytz-2019.3 sqlparse-0.3.1

Gunicorn のインストール

(py3dj3_venv) $ pip install gunicorn
Collecting gunicorn
  Downloading gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
     |████████████████████████████████| 77 kB 412 kB/s
Requirement already satisfied: setuptools>=3.0 in ./py3dj3_venv/lib/python3.7/site-packages (from gunicorn) (41.6.0)
Installing collected packages: gunicorn
Successfully installed gunicorn-20.0.4

Django プロジェクトの作成

(py3dj3_venv) $ django-admin startproject django_project

Python 仮想環境の終了

(py3dj3_venv) $ deactivate
$

一番シンプルな gunicorn コマンドで Django アプリの動作確認を行う

$ py3dj3_venv/bin/gunicorn --bind :8000 --chdir /home/tomoyan/django_project django_project.wsgi
[2020-04-25 09:25:36 +0900] [289] [INFO] Starting gunicorn 20.0.4
[2020-04-25 09:25:36 +0900] [289] [INFO] Listening at: http://0.0.0.0:8000 (289)
[2020-04-25 09:25:36 +0900] [289] [INFO] Using worker: sync
[2020-04-25 09:25:36 +0900] [292] [INFO] Booting worker with pid: 292

※Python 仮想環境の Gunicorn を実行すると、仮想環境のパッケージを利用できる。

http://localhost:8000 にブラウザでアクセスする。
Gunicorn Django Operation Check

gunicorn コマンドを Ctrl + C で終了

Not Found: /static/admin/css/fonts.css
Not Found: /favicon.ico
[2020-04-25 15:34:28 +0900] [289] [CRITICAL] WORKER TIMEOUT (pid:292)
[2020-04-25 06:34:28 +0000] [292] [INFO] Worker exiting (pid: 292)
[2020-04-25 15:34:28 +0900] [321] [INFO] Booting worker with pid: 321
^C <- Ctrl + C を入力
[2020-04-25 15:45:53 +0900] [289] [INFO] Handling signal: int
[2020-04-25 06:45:53 +0000] [321] [INFO] Worker exiting (pid: 321)
[2020-04-25 15:45:53 +0900] [289] [INFO] Shutting down: Master
$
  • python/gunicorn.txt
  • 最終更新: 2020/09/11 17:25
  • by ともやん