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

このチュートリアルでは、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>
</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']
</your_instance_ip>
  • データベース構成: 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>
</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 までご連絡ください。
Pythonリストは、フードの下に動的な配列またはリンクリストですか?Pythonリストは、フードの下に動的な配列またはリンクリストですか?May 07, 2025 am 12:16 AM

PythonListsareimplementedasdynamicarrays、notlinkedlists.1)they restorediguourmemoryblocks、それはパフォーマンスに影響を与えることに影響を与えます

Pythonリストから要素をどのように削除しますか?Pythonリストから要素をどのように削除しますか?May 07, 2025 am 12:15 AM

pythonoffersfourmainmethodstoremoveelements fromalist:1)removesthefirstoccurrenceofavalue、2)pop(index(index(index)removes regvess returnsaspecifiedindex、3)delstatementremoveselementselementsbyindexorseLice、および4)clear()

スクリプトを実行しようとするときに「許可を拒否された」エラーを取得した場合、何を確認する必要がありますか?スクリプトを実行しようとするときに「許可を拒否された」エラーを取得した場合、何を確認する必要がありますか?May 07, 2025 am 12:12 AM

toresolvea "許可denided" errors whenrunningascript、sofflowthesesteps:1)checkandadaddadaddadadaddaddadadadaddadaddadaddadaddaddaddaddaddadaddadaddaddaddaddadaddaddaddadadaddadaddadaddadadisionsisingmod xmyscript.shtomakeitexexutable.2)

Arrayは、Pythonでの画像処理でどのように使用されていますか?Arrayは、Pythonでの画像処理でどのように使用されていますか?May 07, 2025 am 12:04 AM

ArraySarecrucialinpythonimageprocessing asheyenable efficientmanipulation analysisofimagedata.1)画像anverttonumpyArrays、with grayscaleimagesasas2darraysandcolorimagesas.

リストよりも大幅に高速な配列の操作はどのような種類ですか?リストよりも大幅に高速な配列の操作はどのような種類ですか?May 07, 2025 am 12:01 AM

有意に発生することは、採用中に採用されていることを確認してください

リストと配列間の要素ごとの操作のパフォーマンスの違いを説明します。リストと配列間の要素ごとの操作のパフォーマンスの違いを説明します。May 06, 2025 am 12:15 AM

ArsareSareBetterElement-WiseOperationsduetof of ActassandoptimizedImplementations.1)ArrayshaveContigUousMoryFordiRectAccess.2)ListSareFlexibleButSlowerDueTopotentialDynamicresizizizizing.3)

numpyアレイ全体で数学操作を効率的に実行するにはどうすればよいですか?numpyアレイ全体で数学操作を効率的に実行するにはどうすればよいですか?May 06, 2025 am 12:15 AM

Numpyの配列全体の数学的操作は、ベクトル化された操作を通じて効率的に実装できます。 1)追加(arr 2)などの簡単な演算子を使用して、配列で操作を実行します。 2)Numpyは、基礎となるC言語ライブラリを使用して、コンピューティング速度を向上させます。 3)乗算、分割、指数などの複雑な操作を実行できます。 4)放送操作に注意して、配列の形状が互換性があることを確認します。 5)np.sum()などのnumpy関数を使用すると、パフォーマンスが大幅に向上する可能性があります。

Pythonアレイに要素を挿入するにはどうすればよいですか?Pythonアレイに要素を挿入するにはどうすればよいですか?May 06, 2025 am 12:14 AM

Pythonでは、要素をリストに挿入するための2つの主要な方法があります。1)挿入(インデックス、値)メソッドを使用して、指定されたインデックスに要素を挿入できますが、大きなリストの先頭に挿入することは非効率的です。 2)Append(Value)メソッドを使用して、リストの最後に要素を追加します。これは非常に効率的です。大規模なリストの場合、append()を使用するか、dequeまたはnumpy配列を使用してパフォーマンスを最適化することを検討することをお勧めします。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。