====== Gunicorn - Python WSGI HTTP Server for UNIX ======
{{python:gunicorn_logo.svg?250|Gunicorn Logo}}
本家: [[https://gunicorn.org/|Gunicorn - Python WSGI HTTP Server for UNIX]]\\
ドキュメント: [[http://docs.gunicorn.org/en/latest/index.html|Gunicorn - WSGI server — Gunicorn 20.0.4 documentation]]\\
ソースコード: [[https://github.com/benoitc/gunicorn|benoitc/gunicorn: gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.]]\\
===== インストール =====
**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
==== gunicorn 動作確認 ====
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|]] にブラウザでアクセスする。\\
{{:python:uwsgi_django_operation_check_001.png?600|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
$
===== 参考文献 =====
[[https://gunicorn.org/#docs|Gunicorn - Python WSGI HTTP Server for UNIX - Documentation]]\\
[[system_manage:monsters_garage_servers:skv009_tuning|9号機チューニング]] (内部)\\