Djangoで作成したアプリをEC2へデプロイしてみました。
↑の記事では、サーバーで動作するための最短手順を踏んだつもりです
なので、やり残したこともおおくあります。。。
また、おまけ編ということで、ソースのアップデート方法をご紹介します
ソースの更新方法
- Djangoのソースをzip化する
- teratermやscpコマンドでサーバーへzipファイルをアップロードする
- サーバーにssh接続する
- rootユーザーに切り替えて、zipファイルを解凍する
12sudo suunzip <アップロードしたファイル> - NginxとDjangoのサービスを停止させる
12345678910111213# Nginxが起動していることを確認するsystemctl status nginx# Nginxを停止させるsystemctl stop nginx# Nginxが停止していることを確認するsystemctl status nginx# Djangoアプリが起動していることを確認するsystemctl status <Djangoプロジェクト名># Djangoアプリ停止させるsystemctl stop <Djangoプロジェクト名># Djangoアプリが停止していることを確認するsystemctl status <Djangoプロジェクト名> - /var/www/配下のDjangoのファイルを更新する
- NginxとDjangoのサービスを起動させる
12345678910111213# Djangoアプリが停止していることを確認するsystemctl status <Djangoプロジェクト名># Djangoアプリが起動させるsystemctl start <Djangoプロジェクト名># Djangoアプリが起動していることを確認するsystemctl status <Djangoプロジェクト名># Nginxが停止していることを確認するsystemctl status nginx# Nginxを起動させるsystemctl start nginx# Nginxが起動していることを確認するsystemctl status nginx
やり残したこと
箇条書きでやり残したことを書いていきます
- フロントをReact、バックエンドをDRFにする
- SECRET_KEYなど機密情報は .envに記載する
- ソースをgithub経由でサーバーへアップロードする
→Github actionsを使用して自動デプロイできればいいな… - ALB(ロードバランサー)を使用したい
→ 簡単にHTTPS化、AutoScalingと組み合わせて冗長化構成にするなど - Route53を使用してドメインを割り当てる
- RDSを使用する
- ログ設定を理解する
→ローテートやアプリのログ(main, error, debug)とSQLのログを分けるなど
やりたいことがたくさんありますね(笑)
気長に1つずつやっていこうと思います!
コメント