Triển khai ứng dụng web Python Django trên Google App Engine

Deploying with a Python Django web app and Google

Posted by Box XV on June 9, 2021. 4 min read.

Hosting platforms

Đây là các tùy chọn có sẵn để triển khai Django trên Google Cloud:

Django deployment option Get started
App Engine standard environment Running Django on App Engine standard environment
App Engine flexible Environment Running Django on App Engine flexible environment
Cloud Run Running Django on Cloud Run,
Running Django on Cloud Run with Cloud Code for VS Code,
Running Django on Cloud Run with Cloud Code for IntelliJ
Google Kubernetes Engine (GKE) Running Django on Google Kubernetes Engine
Compute Engine Django in Google Cloud Marketplace

Databases

Bộ ánh xạ quan hệ đối tượng Django (ORM) hoạt động tốt nhất với cơ sở dữ liệu quan hệ SQL.

Nếu bạn đang bắt đầu một dự án mới, Cloud SQL là một lựa chọn tốt. Bạn có thể triển khai cơ sở dữ liệu PostgreSQL hoặc MySQL do Google quản lý và mở rộng, và được hỗ trợ bởi Django.

Chạy Django trên môi trường tiêu chuẩn của App Engine

Các ứng dụng Django chạy trên môi trường tiêu chuẩn của App Engine sẽ thay đổi tỷ lệ động theo lưu lượng truy cập.

Chuẩn bị

  1. Nếu bạn là người mới sử dụng Google Cloud, hãy tạo một tài khoản để đánh giá cách các sản phẩm của chúng tôi hoạt động trong các tình huống thực tế. Khách hàng mới cũng nhận được 300 đô la tín dụng miễn phí để chạy, thử nghiệm và triển khai khối lượng công việc.

  2. Trong Google Cloud Console, trên trang chọn dự án, hãy chọn hoặc tạo một dự án Google Cloud.
    Go to project selector

  3. Đảm bảo rằng thanh toán được bật cho dự án Đám mây của bạn. Tìm hiểu cách xác nhận rằng thanh toán được bật cho dự án của bạn.

  4. Bật Cloud SQL Admin API
    Enable the API

  5. Cài đặt và khởi chạy Cloud SDK

Đăng nhập gcloud

Nhận thông tin đăng nhập mới để sử dụng Cloud SQL Admin API:

gcloud auth application-default login

Tải xuống và chạy ứng dụng mẫu

source code: https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard_python3/django

Setting up your local environment

Khi được triển khai, ứng dụng của bạn sử dụng Cloud SQL Proxy được tích hợp sẵn trong môi trường App Engine để giao tiếp với phiên bản Cloud SQL của bạn. Tuy nhiên, để kiểm tra cục bộ ứng dụng của bạn, bạn phải cài đặt và sử dụng bản sao cục bộ của proxy trong môi trường phát triển của mình.

Tìm hiểu thêm về Cloud SQL Proxy.

Để thực hiện các tác vụ quản trị cơ bản trên phiên bản Cloud SQL của bạn, bạn có thể sử dụng ứng dụng PostgreSQL client.

Installing the Cloud SQL Proxy

Tải xuống và cài đặt Cloud SQL Proxy. Cloud SQL Proxy kết nối với phiên bản Cloud SQL của bạn khi chạy cục bộ.

Windows 64-bit: https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe

Creating a Cloud SQL instance

  1. Create a Cloud SQL for MySQL Second Generation instance.

Đặt tên cho instance polls-instance hoặc tương tự. Có thể mất vài phút để phiên bản sẵn sàng. Khi phiên bản đã sẵn sàng, nó sẽ hiển thị trong danh sách phiên bản.

  1. Sử dụng Cloud SDK để chạy lệnh sau trong đó [YOUR_INSTANCE_NAME] đại diện cho tên của phiên bản Cloud SQL của bạn:
    gcloud sql instances describe [YOUR_INSTANCE_NAME]
    

Trong đầu ra, lưu ý giá trị được hiển thị cho [CONNECTION_NAME].

Giá trị [CONNECTION_NAME] có định dạng [PROJECT_NAME]: [REGION_NAME]: [INSTANCE_NAME].

Initializing your Cloud SQL instance

  1. Khởi động Cloud SQL Proxy bằng cách sử dụng giá trị [CONNECTION_NAME] từ bước trước:
    cloud_sql_proxy.exe -instances="[YOUR_INSTANCE_CONNECTION_NAME]"=tcp:3306
    

Thay thế [YOUR_INSTANCE_CONNECTION_NAME] bằng giá trị [CONNECTION_NAME] mà bạn đã ghi ở bước trước.

Bước này thiết lập kết nối từ máy tính cục bộ của bạn đến phiên bản Cloud SQL của bạn cho mục đích kiểm tra cục bộ. Giữ cho Cloud SQL Proxy chạy trong toàn bộ thời gian bạn kiểm tra ứng dụng của mình cục bộ.

  1. Tạo cơ sở dữ liệu và người dùng Cloud SQL:

Cloud Console a. Tạo new database by using the Cloud Console cho polls-instance Cloud SQL của bạn. Ví dụ, bạn có thể sử dụng các cuộc thăm dò tên.

b. Tạo new user by using the Cloud Console cho phiên bản polls-instance Cloud SQL của bạn.

Configuring the database settings

Running the app on your local computer

python manage.py runserver

Using the Django admin console

python manage.py createsuperuser

Deploying the app to the App Engine standard environment

python manage.py collectstatic

gcloud app deploy

Seeing the app run in Google Cloud

Lệnh sau triển khai ứng dụng như được mô tả trong app.yaml và đặt phiên bản mới được triển khai làm phiên bản mặc định, khiến nó phân phát tất cả lưu lượng truy cập mới.

Trong trình duyệt của bạn, hãy nhập URL sau:

https://PROJECT_ID.REGION_ID.r.appspot.com

Thay thế những điều sau:

  • PROJECT_ID: ID dự án Google Cloud của bạn
  • REGION_ID: Mã mà App Engine chỉ định cho ứng dụng của bạn

Yêu cầu của bạn được phục vụ bởi một máy chủ web chạy trong môi trường tiêu chuẩn của App Engine.

Nếu bạn cập nhật ứng dụng của mình, bạn triển khai phiên bản cập nhật bằng cách nhập cùng một lệnh mà bạn đã sử dụng để triển khai ứng dụng. Việc triển khai tạo ra một phiên bản mới của ứng dụng của bạn và quảng bá nó lên phiên bản mặc định. Các phiên bản trước đó của ứng dụng của bạn vẫn còn. Tất cả các phiên bản ứng dụng này đều là tài nguyên có thể thanh toán. Để giảm chi phí, hãy xóa các phiên bản không phải mặc định của ứng dụng.

Để biết thông tin về cách xóa các phiên bản không phải mặc định của ứng dụng, hãy xem Cleaning up.

Deploy Django Website to Google Cloud

How to Deploy Django to Google Cloud in One Click


Running Django on the App Engine standard environment
Deploying a Django Application to Google App Engine
Get started with Bitnami Django on Google Cloud
Using SQLITE for local Django development for Google App Engine?
Deploy ứng dụng Rails với Google app engine-P2: Cài đặt SDK cho máy local