Djangoの開発・本番環境構築
0. 初めに Dockerを利用しPython、Django、PostgreSQL、Gunicorn、Nginxの開発・本番環境の構築します。
Dockerとはコンテナ型の仮想環境を作成・配布・実行できるプラットフォームとのことです。Dockerを使えばWebアプリケーションだけでなくサーバーの設定などのインフラもまとめて管理できて、かつバージョンやOSの差を気にすること無く環境の構築ができるというメリットがあります。
Pythonの仮想環境としばしば比較されることがありますが、Pythonの仮想環境はあくまでPythonの依存関係のみをカプセル化し、DockerはOS全体をカプセル化するという違いがあります。
※参考サイト1
0-1. 開発環境 OS : Ubuntu 22.04.1 LTS on WSL2 Docker : 20.10.22 Docker Compose : v2.14.1 0-2. VPS環境 WebARENA Indigo : メモリ 4G, ストレージ:SSD 80GB, CPU:2コア OS:Ubuntu 22.04 Docker : 20.10.22 Docker Compose : v2.14.1 VPS-IP : 160.248.11.107 Container : Debian GNU/Linux 11 (bullseye) 0-3. 共通環境 Python : 3.11.1 Django:4.1.4 Nginx:1.23.3 Gunicorn:20.1.0 PostgrSQL:14.0 psycopg2-binary:2.9.3 0-4. Python3.11 Python 3.11はPython 3.10と比べて平均で 25%速くなりました。ワークロードにも寄りますが、10%から60%の速度向上が見込めます。これは「起動時の高速化」と「実行時の高速化」の二つによって達成されています。 起動時の高速化:起動時間が10-15%高速化 実行時の高速化:最大 2~20%の速度向上 SSLモジュール Python 3.