- vừa được xem lúc

Triển khai Django project lên Serverless Platform

0 0 19

Người đăng: Hoàng Việt

Theo Viblo Asia

Mở đầu

Bài viết này thuộc series triển khai mọi thứ lên BizflyCloud App Engine

Django là framework mà chắc bất cứ ai đã từng làm việc với Python đều đã nghe qua, đây là một ngôn ngữ được sử dụng vô cùng phổ biến bởi các lập trình viên trong những năm gần đây. Trong bài viết này mình sẽ hướng dẫn mọi người tạo một project sử dụng framework Django và deploy ứng dụng này lên trên nền tảng Serverless BizflyCloud App Engine!

image.png

Điều kiện tiên quyết

Bắt đầu nào

Tạo project đơn giản

Để bắt đầu một project Django ta sử dụng câu lệnh sau để tạo một project mẫu với các file cơ bản nhất:

django-admin startproject djangoSample

Sau khi chạy câu lệnh trên ta sẽ có một project tên djangoSample với các file và cấu trúc như sau:

image.png

Chạy thử project Django với câu lệnh:

python manage.py runserver

image.png

Sau khi chạy câu lệnh bạn có thể truy vào ứng dụng thông qua browser với địa chỉ 127.0.0.1:8000

image.png

Như vậy bạn đã chạy thành công một project Django đơn giản. Giờ tiếp theo ta hãy thử deploy project này lên Internet với nền tảng BizflyCloud App Engine.

Tạo file requirements.txt

File này sẽ định nghĩa các packages mà bạn sẽ sử dụng cho project để cài đặt khi bạn triển khai lên nền tảng serverless. Ta tạo file requirements.txt có nội dung:

image.png

Allow Host trong settings.py

Allow Host là cấu hình trong file settings.py cho phép ứng dụng có thể truy cập được từ những domain nào. Ở đây chúng ta sẽ allow cho toàn bộ các domain bằng cách cấu hình ALLOWED_HOSTS = [*]

image.png

Định nghĩa run command

Đối với ngôn ngữ Python bạn cần định nghĩa run command dùng để khởi chạy ứng dụng. Tương tự câu lệnh python manage.py runserver ta sử dụng bên trên, tuy nhiên khi chạy với câu lệnh trên bạn sẽ chạy ở dạng dev environment với host 127.0.0.1 chỉ có thể truy cập từ local. Khi muốn đưa ra ngoài internet và truy cập từ nhiều máy tính khác nhau Host bạn cần để dạng 0.0.0.0. Câu lệnh Run Command mình sẽ sử dụng như sau:

python manage.py runserver 0.0.0.0:8000

Câu lệnh trên sẽ chạy ứng dụng của bạn ở host 0.0.0.0 (cho phép truy cập từ mọi địa chỉ) tại cổng 8000

Hệ thống BizflyCloud sẽ nhận Run Command thông qua file Procfile chính vì vậy ta sẽ tạo file có tên Procfile với nội dung như sau:

image.png

Định nghĩa Python Version (Tùy chọn)

Nếu bạn không định nghĩa Python version, hệ thống BizflyCloud App Engine sẽ sử dụng Python version mới nhất được hỗ trợ. Để định nghĩa Python version ta tạo file runtime.txt với nội dung là version Python sẽ sử dụng:

image.png

Triển khai ứng dụng

Như vậy bạn đã hoàn thiện các bước cần thiết để triển khai ứng dụng. Đăng nhập vào BizflyCloud và tiến hành tạo Application với tên Django-project.

image.png

Tiếp theo ta sẽ tạo Service là thành phần để chạy ứng dụng

image.png

Cấu hình cho service mình sẽ điền như hình dưới

image.png

Nếu bạn không sử dụng Git có thể dùng Source type dạng upload để chọn folder code trực tiếp từ máy tính. Ở đây mình sử dụng nguồn từ Git sẽ thuận tiện hơn trong việc cập nhật và tích hợp CI/CD.

Nếu bạn muốn sử dụng source django mình deploy thì ở đây nhé: https://github.com/bizflycloud/app-engine-django-sample

Sau khi đã xác nhận các cấu hình mình ấn Xác nhận thông tin để deploy. Quá trình deploy sẽ mất tầm 1-3 phút để hoàn thành.

image.png

Quá trình deploy hoàn tất hệ thống sẽ trả về cho bạn đường dẫn để truy cập vào Django Project (https://django-project-mcoen.appengine.bfcplatform.vn/):

image.png

image.png

Như vậy mình đã hướng dẫn các bạn triển khai một project Django cơ bản lên hệ thống serverless BizflyCloud App Engine!!! Hiện nền tảng này đang miễn phí cho phép các bạn triển khai ứng dụng đa dạng các ngôn ngữ không tốn đồng nào 😄 Nhanh chóng vào trải nghiệm nhé!

Cám ơn các bạn đã đọc đến đây! Upvote và Follow mình để xem thêm nhiều bài viết của các framework khác nữa nhé! ❤️

Bình luận

Bài viết tương tự

- vừa được xem lúc

Lập Trình Hướng Đối Tượng trong Python

Chào các bạn Trong bài này, bạn sẽ tìm hiểu về Lập trình hướng đối tượng (OOP) bằng Python và khái niệm cơ bản của nó và một số các ví dụ. Các bạn cùng tìm hiểu trong bài viết của mình nhé.

0 0 35

- vừa được xem lúc

Lớp trong Python

. Hôm ni, mình học tiếp về bạn “Lớp(class) trong python”, bài blog tiếp theo nằm trong series “Khám phá Đại Bản Doanh Python”(nội dung trong bài series này từ chủ yếu mình lấy từ python.org rồi viết lại hoặc dịch lại theo ngôn ngữ của mình).

0 0 17

- vừa được xem lúc

Tìm hiểu về thư viện Numpy trong Python(Phần 3)

Trong bài viết trước tôi đã giới thiệu cho bạn về NumPy, tìm hiểu về Mảng trong NumPy. Trong bài viết này chúng ta sẽ tiếp tục tìm hiểu về các kiểu dữ liệu khác trong NumPy.

0 0 128

- vừa được xem lúc

Hướng dẫn cài đặt Anaconda trên Ubuntu

Anaconda là một nền tảng mã nguồn mở về Data Science và Machine Learning trên Python thông dụng nhất hiện nay, Anaconda có vai trò đơn giản hóa việc triển khai và quản lí các gói cài đặt khi làm việc với Python. Anaconda được cài đặt dễ dàng trên 3 nền tảng hệ điều hành thông dụng hiện nay là Ubuntu

0 0 31

- vừa được xem lúc

Tùy chỉnh Exceptions trong Python

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về cách tùy chỉnh các Exceptions trong Python.Mình sẽ giải thích cho các bạn hiểu và cách xử dụng chúng.

0 0 24

- vừa được xem lúc

Không gian tên(namspace) và phạm vi(scope) trong Python

. Khi mình ngồi học và dịch bài "Class trong Python" cho sê-ri "Khám Phá Đại Bản Doanh Python", mình đã đụng hai bạn này, và các bạn thật là trừu tượng và khó gặm. Thế là mình tìm kiếm và viết bài này để hiểu rõ hơn về hai bạn ấy, hi vọng bạn đọc thêm để hiểu về Python nhé.

0 0 34