はじめに
この記事は2019年初版発行「動かして学ぶ! Python Django開発入門」の
・Chapter12 Djangoとクラウドを連携して本番運用を行う
・Chapter13 独自ドメイン化とセキュリティ対策
に掲載されている内容についての、2023年時点のクリティカルなメモです。
※SES系は範囲外となります
Chapter12 Djangoとクラウドを連携して本番運用を行う
◆12-07 Python3をインストールする
EC2には既にインストールされているため対応不要。
◆12-08 pip 管理モジュールをインストールする
ローカルのインストール済みDjangoと、EC2のインストール可能なDjangoバージョンが異なる場合がある。
必ず両者の差異を確認して、必要に応じてrequirement.txtの書き換えを行う。
※ローカルとデプロイ環境のモジュールは、バージョンが合わないと動作しないケースがある
◆12-10 本番運用環境Djangoプロジェクト設定ファイルを作成する
ARROWED_HOSTS = ['os.environ.get('ALLOWED_HOSTS')']
.bash_profile(Linixの設定ファイル)を呼んできてくれるらしいが、うまくいかなかったので
ARROWED_HOSTS = ['*']
としている。
◆12-17 Nginxのインストールと設定を行う
nginx.confについて
・listen(待ち受けポート番号)はEC2のセキュリティ設定を必ず合わせる
・server_nameは<>(ダイアモンドの括弧)は不要
◆12-18 NginxとGunicornを起動する
Gunicorn起動時に、.wsgi(ウィズギー)ファイルの名称が正しいか確認する。
誤っていてもエラーは出ないので、ps ax | grep gunicorn
で必ず起動確認をする。
Chapter13 Djangoとクラウドを連携して本番運用を行う
◆13-02 ドメインプロバイダーでDNS設定を追加する
以下の記事を参考にする。※HTTPS化を含む
※ターゲットグループのポートは「HTTP:80」で対応