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!
Điều kiện tiên quyết
- Máy tính của bạn cần đã cài đặt python (https://www.python.org/)
- Bạn cần có thêm Django framework đã được cài đặt (https://www.djangoproject.com/)
- Và tài khoản tại BizflyCloud để deploy ứng dụng nhé! Đăng ký tại đây
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:
Chạy thử project Django với câu lệnh:
python manage.py runserver
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
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:
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 = [*]
Đị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:
Đị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:
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.
Tiếp theo ta sẽ tạo Service là thành phần để chạy ứng dụng
Cấu hình cho service mình sẽ điền như hình dưới
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.
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/):
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