【おまけ】【Django+Nginx+Gunicorn】アプリケーションをEC2へデプロイしよう

Linux

 

Djangoで作成したアプリをEC2へデプロイしてみました。

 

↑の記事では、サーバーで動作するための最短手順を踏んだつもりです

なので、やり残したこともおおくあります。。。

また、おまけ編ということで、ソースのアップデート方法をご紹介します

 

ソースの更新方法

 

  1. Djangoのソースをzip化する
  2. teratermやscpコマンドでサーバーへzipファイルをアップロードする
  3. サーバーにssh接続する
  4. rootユーザーに切り替えて、zipファイルを解凍する
  5. NginxとDjangoのサービスを停止させる
  6. /var/www/配下のDjangoのファイルを更新する
  7. NginxとDjangoのサービスを起動させる

 

サービスの停止・起動の順番について

今回のシステムでは、
ユーザー→Nginx→Gunicorn の流れでリクエストを処理します

不文律ですが、
停止するとき:ユーザーに近いサービスから停止していく
       →今回だと Nginx → Gunicorn の順で停止させる

起動するとき:ユーザーから遠いサービスから起動していく
       →今回だとGunicorn → Nginx の順で起動させる

とする場合が多い気がします

 

やり残したこと

 

箇条書きでやり残したことを書いていきます

  • フロントをReact、バックエンドをDRFにする
  • SECRET_KEYなど機密情報は .envに記載する
  • ソースをgithub経由でサーバーへアップロードする
    Github actionsを使用して自動デプロイできればいいな…
  • ALB(ロードバランサー)を使用したい
    → 簡単にHTTPS化AutoScalingと組み合わせて冗長化構成にするなど
  • Route53を使用してドメインを割り当てる
  • RDSを使用する
  • ログ設定を理解する
    ローテートアプリのログ(main, error, debug)とSQLのログを分けるなど

 

やりたいことがたくさんありますね(笑)

気長に1つずつやっていこうと思います!

 

コメント

タイトルとURLをコピーしました