Python Django: hướng dẫn đưa dự án django lên server production

Xin chào mọi người, trong bài viết này mình sẽ hướng dẫn các bạn cách đưa một project django lên môi trường thực tế (production). Hệ điều hành mình sử dụng là Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-122-generic x86_64), Django version 3.1

Điều kiện tiên quyết: Source code đã chạy được ở môi trường develop và được lưu trữ ở git, ở đây mình sử dụng PostgreSQL version 10.15 làm hệ cơ sở dữ liệu.

1. Cài đặt git

2. Clone source code từ git

3. Cài đặt NGINX và curl

4. Cài đặt python 3.6

5. Cài đặt Postgres

6. Tạo Cơ sở dữ liệu và Người dùng PostgreSQL

7. Tạo môi trường ảo cho project django của bạn

8. Cấu hình project

9. Hoàn thành cấu hình project

Hiện tại thì project của bạn vẫn đang chạy với port 8000, để chuyển qua port 80 (http) or 443 (https) thì ta cấu hình như sau

10. Tạo systemd Socket and Service Files cho Gunicorn

Tạo file gunicorn socket

với nội dung như sau

Tạo service files

với nội dung

11. Kiểm tra trạng thái và bật socket

12. Cấu hình NGINX Proxy Pass đến Gunicorn

Gõ lệnh

với nội dung file như sau:

13. Tạo symlink đến nginx

Khi có sự thay đổi code thì vui lòng restart lại gunicorn

Nếu thay đổi file Gunicorn socket hoặc service files vui lòng chạy lại cách lệnh này để cập nhật

Nếu bạn có thay đổi nginx config file thì chạy lệnh dưới, để restart lại NGINX

Hi vọng sẽ giúp được bạn. Thanks