在本教程中,我將引導您使用Bitnami 將GitHub 上託管的Django Web 應用程式 部署到AWS Lightsail 實例 Dango堆疊。 Bitnami 透過提供預先設定的生產就緒環境來簡化部署,其中包括 Django、Web 伺服器(Nginx 或 Apache)和資料庫(PostgreSQL 或 MySQL)。
在本教學結束時,您將能夠以最少的配置在 AWS Lightsail 上啟動並執行 來自 GitHub 的 Django 專案。
為什麼選擇 AWS Lightsail 進行 Django 部署?
AWS Lightsail 是一種易於使用且經濟實惠的雲端服務,非常適合託管 Django 應用程式。它為虛擬專用伺服器(實例)提供簡單的管理功能,例如靜態 IP、預先配置堆疊和可預測的定價。這就是為什麼它是 Django 的絕佳選擇:
- 價格實惠:前期成本低,價格可預測。
- 簡化設定:易於使用的介面,可快速部署。
- 可擴充性:可以很好地擴展中小型應用程式。
- 預先配置的堆疊:簡化的環境設置,包括 Django。
逐步指南
1. 使用 Bitnami Django Stack 建立 Lightsail 實例
登入 AWS Lightsail:
- 前往 Amazon Lightsail 主控台。
建立一個新實例:
- 在 Lightsail 儀表板中點選 建立實例。
- 在 應用程式 下,從 Bitnami 堆疊選項中選擇 Django。
- 選擇最接近目標受眾的區域以減少延遲。
- 選擇實例計劃。每月 5 美元的計劃適合小型 Django 應用程式。
- 為您的實例命名(例如 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>
3. 從 GitHub 複製您的 Django 專案
現在您已連接到 Lightsail 實例,您可以從 GitHub 複製您的 Django 專案。
安裝 Git:
首先,請確保您的 Lightsail 實例上安裝了 Git:
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. 在瀏覽器中存取應用程式
完成上述設定後,您的 Django 應用程式應該可以透過 Lightsail 實例的靜態 IP 存取。
- 開啟瀏覽器並輸入 Lightsail 實例的靜態 IP:
sudo apt update sudo apt install git
如果您已經部署了程式碼,您應該會看到 Django 歡迎頁面或您的應用程式。
嘗試使用“我的簡單待辦事項清單”應用程式
複製我的簡單待辦事項清單 Django 應用程式 並按照以下步驟將其部署在 AWS Lightsail 上。
結論
您已使用 Bitnami Django 堆疊 在 AWS Lightsail 上成功部署了來自 GitHub 的 Django 應用程式。透過此設置,您將擁有:
- 預先配置、生產就緒的 Django 環境。
- PostgreSQL 資料庫。
AWS Lightsail 與 Bitnami 為託管 Django 應用程式提供了一種簡單且經濟高效的解決方案。無論您是部署小型個人專案還是生產應用程序,此解決方案都能確保您的 Django 應用程式順利運行。
參考
- AWS Lightsail 官方文件
- Bitnami Django 堆疊文件
- Django 官方文件
以上是使用 Bitnami Django 堆疊在 AWS Lightsail 上從 GitHub 部署 Django 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文解釋瞭如何使用美麗的湯庫來解析html。 它詳細介紹了常見方法,例如find(),find_all(),select()和get_text(),以用於數據提取,處理不同的HTML結構和錯誤以及替代方案(SEL)

Python的statistics模塊提供強大的數據統計分析功能,幫助我們快速理解數據整體特徵,例如生物統計學和商業分析等領域。無需逐個查看數據點,只需查看均值或方差等統計量,即可發現原始數據中可能被忽略的趨勢和特徵,並更輕鬆、有效地比較大型數據集。 本教程將介紹如何計算平均值和衡量數據集的離散程度。除非另有說明,本模塊中的所有函數都支持使用mean()函數計算平均值,而非簡單的求和平均。 也可使用浮點數。 import random import statistics from fracti

Python 對象的序列化和反序列化是任何非平凡程序的關鍵方面。如果您將某些內容保存到 Python 文件中,如果您讀取配置文件,或者如果您響應 HTTP 請求,您都會進行對象序列化和反序列化。 從某種意義上說,序列化和反序列化是世界上最無聊的事情。誰會在乎所有這些格式和協議?您想持久化或流式傳輸一些 Python 對象,並在以後完整地取回它們。 這是一種在概念層面上看待世界的好方法。但是,在實際層面上,您選擇的序列化方案、格式或協議可能會決定程序運行的速度、安全性、維護狀態的自由度以及與其他系

本文比較了Tensorflow和Pytorch的深度學習。 它詳細介紹了所涉及的步驟:數據準備,模型構建,培訓,評估和部署。 框架之間的關鍵差異,特別是關於計算刻度的

本文討論了諸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和請求等流行的Python庫,並詳細介紹了它們在科學計算,數據分析,可視化,機器學習,網絡開發和H中的用途

該教程建立在先前對美麗湯的介紹基礎上,重點是簡單的樹導航之外的DOM操縱。 我們將探索有效的搜索方法和技術,以修改HTML結構。 一種常見的DOM搜索方法是EX

本文指導Python開發人員構建命令行界面(CLIS)。 它使用Typer,Click和ArgParse等庫詳細介紹,強調輸入/輸出處理,並促進用戶友好的設計模式,以提高CLI可用性。

文章討論了虛擬環境在Python中的作用,重點是管理項目依賴性並避免衝突。它詳細介紹了他們在改善項目管理和減少依賴問題方面的創建,激活和利益。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。