ホームページ バックエンド開発 Python チュートリアル Bitnami Django スタックを使用して GitHub から AWS Lightsail に Django アプリをデプロイする

Bitnami Django スタックを使用して GitHub から AWS Lightsail に Django アプリをデプロイする

Dec 23, 2024 am 04:58 AM

このチュートリアルでは、GitHub でホストされている Django Web アプリケーション を、Bitnami を使用して AWS Lightsail インスタンス にデプロイする手順を説明します。ジャンゴスタック。 Bitnami は、Django、Web サーバー (Nginx または Apache)、データベース (PostgreSQL または MySQL) を含む、事前に構成された本番環境に対応した環境を提供することで、デプロイメントを簡素化します。

このチュートリアルが終わるまでに、GitHub の Django プロジェクトを最小限の構成で AWS Lightsail 上で稼働できるようになります。


Django のデプロイに AWS Lightsail を選択する理由?

AWS Lightsail は、使いやすく手頃な価格のクラウド サービスで、Django アプリのホストに最適です。静的 IP、事前構成されたスタック、予測可能な価格などのシンプルな管理機能を備えた仮想プライベート サーバー (インスタンス) を提供します。これが Django にとって最適な選択肢である理由は次のとおりです:

  • 手頃な価格: 予測可能な価格設定による低初期費用。
  • 簡素化されたセットアップ: 迅速な導入のための使いやすいインターフェイス。
  • スケーラビリティ: 小規模から中規模のアプリに適した拡張性を備えています。
  • 事前構成されたスタック: Django を含む簡素化された環境セットアップ。

ステップバイステップガイド

1.

Bitnami Django スタックを使用して Lightsail インスタンスを作成します

AWS Lightsail にログインします:

    Amazon Lightsail コンソールに移動します。

新しいインスタンスを作成します:

    Lightsail ダッシュボードで
  • インスタンスの作成 をクリックします。
  • アプリケーション で、Bitnami スタック オプションから Django を選択します。

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack

    レイテンシを短縮するには、ターゲット視聴者に最も近い
  • リージョンを選択します。
  • インスタンス プランを選択します。月額 5 ドルのプランは、小規模な Django アプリケーションに適しています。

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack

    インスタンスに名前を付けます (例: django-app-bitnami)。
  • インスタンスに接続するには、既存の
  • SSH キーをダウンロードするか使用します。
  • インスタンスの作成 をクリックして、Django インスタンスを起動します。

2.

Lightsail インスタンスにアクセスします

Lightsail インスタンスが実行されたら、SSH で接続する必要があります。

静的 IP を取得します:

  • Lightsail コンソールの ネットワーク タブに移動します。
  • 静的 IP を Lightsail インスタンスに割り当てて接続します。この静的 IP は、Django アプリケーションにアクセスするために使用されます。

インスタンスに SSH 接続します:

  • 接続 をクリックするか、ターミナル コマンドを使用して、Lightsail コンソールから直接 SSH 接続できます。
ssh -i /path/to/your/ssh-key.pem bitnami@<your_instance_ip>
ログイン後にコピー
ログイン後にコピー

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack


3. GitHub から Django プロジェクトのクローンを作成します

Lightsail インスタンスに接続したので、GitHub から Django プロジェクトのクローンを作成できます。

Git をインストールします:

まず、Git が Lightsail インスタンスにインストールされていることを確認します。

sudo apt update
sudo apt install git
ログイン後にコピー
ログイン後にコピー

GitHub リポジトリのクローンを作成します:

次に、プロジェクトを保存するディレクトリ (/home/bitnami/ など) に移動し、リポジトリのクローンを作成します。

cd /home/bitnami
git clone https://github.com/yourusername/your-django-app.git
ログイン後にコピー

https://github.com/yourusername/your-django-app.git を GitHub リポジトリの実際の URL に置き換えます。


4. Django 設定を構成する

Django プロジェクトのクローンを作成したら、本番環境で動作するように settings.py ファイルを構成する必要があります。

Django アプリケーションにアクセスします:

  • プロジェクト ディレクトリに移動します。 Bitnami はデフォルトで Django を /opt/bitnami/apps/django/django-project/ にインストールしますが、アプリは GitHub から複製したフォルダーにあります。
cd /home/bitnami/your-django-app
ログイン後にコピー

settings.py ファイルを編集します:

nano や vi などのテキスト エディターを使用して settings.py を変更します。

sudo nano your-django-app/yourproject/settings.py
ログイン後にコピー

次の設定を変更します:

  • ALLOWED_HOSTS: Lightsail の静的 IP またはドメイン (ある場合) を ALLOWED_HOSTS リストに追加します。
ALLOWED_HOSTS = ['<your_instance_ip>', 'yourdomain.com']
ログイン後にコピー
  • データベース構成: Bitnami スタックはデフォルトで PostgreSQL を使用するため、PostgreSQL を使用している場合はデフォルトのデータベース構成を使用します。
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'bitnami_django',
        'USER': 'bn_django',
        'PASSWORD': 'yourpassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}
ログイン後にコピー
  • 静的ファイルの構成: 次の静的ファイルの設定が正しいことを確認してください。
STATIC_URL = '/static/'
STATIC_ROOT = '/home/bitnami/your-django-app/static'
ログイン後にコピー

5. 移行を実行し、静的ファイルを収集します

設定を構成した後、移行を実行し、静的ファイルを収集します。

Django 移行の実行:

データベース移行を適用します:

sudo python3 manage.py migrate
ログイン後にコピー

静的ファイルの収集:

次のコマンドを実行して、すべての静的ファイルを中央の場所に収集します。

ssh -i /path/to/your/ssh-key.pem bitnami@<your_instance_ip>
ログイン後にコピー
ログイン後にコピー

6. ブラウザでアプリケーションにアクセスします

上記のセットアップが完了すると、Lightsail インスタンスの静的 IP を介して Django アプリケーションにアクセスできるようになります。

  • ブラウザを開いて、Lightsail インスタンスの静的 IP を入力します。
sudo apt update
sudo apt install git
ログイン後にコピー
ログイン後にコピー

コードがすでにデプロイされている場合は、Django のようこそページまたはアプリケーションが表示されるはずです。


My Simple ToDo リスト アプリで試してみる

Simple To-Do List Django アプリ のクローンを作成し、次の手順に従って AWS Lightsail にデプロイします。

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack


結論

Bitnami Django スタック を使用して、GitHub から AWS Lightsail に Django アプリケーションをデプロイできました。この設定により、次のことが可能になります:

  • 事前に構成された、本番環境に対応した Django 環境。
  • PostgreSQL データベース。

Bitnami を使用した AWS Lightsail は、Django アプリケーションをホストするためのシンプルでコスト効率の高いソリューションを提供します。小規模な個人プロジェクトをデプロイする場合でも、運用アプリケーションをデプロイする場合でも、このソリューションにより、Django アプリケーションがスムーズに実行されます。


参考文献

  • AWS Lightsail 公式ドキュメント
  • Bitnami Django スタックのドキュメント
  • Django 公式ドキュメント

以上がBitnami Django スタックを使用して GitHub から AWS Lightsail に Django アプリをデプロイするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

Investing.comの反クローラーメカニズムをバイパスするニュースデータを取得する方法は? Investing.comの反クローラーメカニズムをバイパスするニュースデータを取得する方法は? Apr 02, 2025 am 07:03 AM

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。

Python 3.6のロードピクルスファイルエラーmodulenotfounderror:ピクルスファイル「__builtin__」をロードした場合はどうすればよいですか? Python 3.6のロードピクルスファイルエラーmodulenotfounderror:ピクルスファイル「__builtin__」をロードした場合はどうすればよいですか? Apr 02, 2025 am 06:27 AM

Python 3.6のピクルスファイルの読み込みエラー:modulenotfounderror:nomodulenamed ...

Scapy Crawlerを使用するときにパイプラインファイルを書き込めない理由は何ですか? Scapy Crawlerを使用するときにパイプラインファイルを書き込めない理由は何ですか? Apr 02, 2025 am 06:45 AM

SCAPYクローラーを使用するときにパイプラインファイルを作成できない理由についての議論は、SCAPYクローラーを学習して永続的なデータストレージに使用するときに、パイプラインファイルに遭遇する可能性があります...

See all articles