+2

Triển khai Django project lên Serverless Platform

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é! ❤️


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.