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

Cài đặt django trên centos 7

0 0 12

Người đăng: Lập trình đơn giản

Theo Viblo Asia

1.Cài đặt python 3.8

Đầu tiên tiến hành cài đặt các thư viện cần thiết bằng các lệnh sau

sudo yum -y update
yum -y groupinstall "Development Tools"
yum -y install openssl-devel bzip2-devel libffi-devel zlib-devel sqlite-devel

Sau khi đã cài đầy đủ thư viện các bạn tiến hành download source Python

yum -y install wget
cd /opt
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz

Tiến hành giải nén

tar xvf Python-3.8.2.tgz 

Di chuyển vào thư mục chứa Source Python

cd Python-3.8*

Tiến hành cài đặt Python bằng lệnh sau

./configure --enable-optimizations --enable-loadable-sqlite-extensions && make altinstall

Để kiểm tra phiên bản python sử dụng lệnh sau

python3.8 --version

2. Thiết lập Python 3 làm mặc định

Xem path python3.8

which python3.8

Thêm bí danh (alias) vào .bash_profile

vi ~/.bash_profile

Bạn thay thế /usr/local/bin/python3.8 thành đường dẫn trên hệ thống của bạn.

Thêm dưới # .bash_profile

alias python='/usr/local/bin/python3.8'

Toàn bộ file bash_profile Tải lại file .bash_profile bằng lệnh:

source ~/.bash_profile

Kiểm tra kết quả.

python --version

3.Tạo môi trường ảo

Sau khi cài đặt Python, tiến hành tạo môi trường ảo bằng cách sử dụng module venv. Tạo một thư mục mới cho ứng dụng Django của bạn:

cd /home
mkdir my_django_app
cd my_django_app

Chạy lệnh sau để tạo môi trường ảo:

python -m venv venv

Lệnh trên tạo một thư mục có tên venv, chứa bản sao nhị phân Python, trình quản lý gói Pip, thư viện Python chuẩn và các tệp hỗ trợ khác. Để bắt đầu sử dụng môi trường ảo này, bạn cần kích hoạt nó bằng cách chạy tập lệnh kích hoạt:

source venv/bin/activate

4. Cài đặt Django

Bây giờ môi trường ảo đã được kích hoạt, bạn có thể sử dụng pip để cài đặt Django. Trước tiên tiến hành update Pip bằng lệnh sau

pip install --upgrade pip

Sau đó cài đặt Django bằng lệnh sau

pip install django

Cài đặt thư viện pymysql:

pip install pymysql

View version django

django-admin --version

image.png

5.Cài đặt MariaDB 10.6 on CentOS 7

Thêm MariaDB YUM repository copy run hết lệnh sau:

cat <<EOF | sudo tee /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.6/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

Clean yum cache index:

sudo yum makecache fast

Cài đặt MariaDB 10.6

sudo yum -y install MariaDB-server MariaDB-client

Xem chi tiết package bằng lệnh sau:

rpm -qi MariaDB-server

Start and enable MariaDB service:

sudo systemctl enable --now mariadb

Tạo pass user root mysql:

sudo mariadb-secure-installation 

Login and create database:

mysql -u root -p

Tạo database và 2 user

CREATE DATABASE django CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all on django.* to ‘django_user'@'localhost' identified by '122@23480acb3fd';
GRANT ALL PRIVILEGES ON django.* TO 'django_remote'@'%' IDENTIFIED BY '12233@6899934dsfas';
FLUSH PRIVILEGES;

6.Tạo một dự án Django

Để tạo một dự án Django mới có tên demo_app, hãy sử dụng lệnh django-admin:

cd /home/my_django_app/
django-admin startproject demo_app

Lệnh trên sẽ tạo một thư mục demo_app trong thư mục hiện tại của bạn.

cd /home/my_django_app/demo_app/

Trong thư mục đó, bạn sẽ tìm thấy tập lệnh chính để quản lý các dự án là manage.py và một thư mục khác bao gồm cấu hình cơ sở dữ liệu và Django và các cài đặt dành riêng cho ứng dụng. Tiếp theo tiến hành migrate cơ sở dữ liệu và tạo một người dùng quản trị. Bắt đầu bằng cách điều hướng đến thư mục demo_app:

cd /home/my_django_app/demo_app/demo_app/

Thêm vào file settings.py

import pymysql
pymysql.install_as_MySQLdb()

Đè lại param database:

DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", 'OPTIONS': { 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", }, "NAME": "name_database", "USER": "user_database", "PASSWORD": "pass_user", "HOST": "127.0.0.1", 'PORT': '3306' }
}

Chạy lệnh sau để migrate cơ sở dữ liệu:

cd /home/my_django_app/demo_app/
python3.8 manage.py migrate

Khi cơ sở dữ liệu đã được migrate, hãy tạo người dùng quản trị để có thể đăng nhập vào trang admin của Django

python3.8 manage.py createsuperuser

7.Mở port firewall Mở port 3306 và 8000 dùng iptables

Đôi khi, bạn cần mở port 3306 thủ công để MySQL có thể lắng nghe kết nối. Sau bước 2 mà vẫn không connect được, bạn hãy sử dụng lệnh sau:

iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT

Mở Port trên Firewalld

Nếu các bạn sử dụng Firewalld các bạn sẽ cần mở Port 8000 để có thể truy cập Django

firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

8.Chạy Development Server

Đầu tiên các bạn sửa file /home/my_django_app/mydjangoapp/mydjangoapp/settings.py

vi /home/my_django_app/demo_app/demo_app/settings.py

Tìm dòng ALLOWED_HOSTS và thêm địa chỉ IP hay domain của VPS vào image.png Thay 192.168.78.137 bằng IP VPS của các bạn Tiếp theo chạy máy chủ web bằng lệnh sau:

cd /home/my_django_app/demo_app/
python3.8 manage.py runserver IP-VPS:8000

Ví dụ:

python3.8 manage.py runserver 27.71.26.185:8000

Thay IP-VPS bằng IP VPS của các bạn

Truy cập http://IP-VPS:8000 bằng trình duyệt web của bạn: image.png Bạn có thể truy cập trang quản trị Django, bằng cách thêm /admin vào cuối URL (http://IP-VPS:8000/admin).

9.Vô hiệu hóa môi trường ảo

Khi bạn đã hoàn thành công việc của mình, hãy hủy kích hoạt môi trường ảo bằng lệnh sau.

deactivate

Sẽ bổ sung video youtube sau

Bình luận

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

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

Creating a Custom User Model in Django

Làm thế nào để thay thế username với email trong Django authentication. Cần chú ý rằng các làm này sẽ làm thay đổi rất nhiều đến schema của database vậy nên khuyến khích khi thực hiện một dự án mới.

0 0 32

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

Câu chuyện kiểm soát truy cập trong Django.

Nếu bạn đang xây dựng một ứng dụng với Django, có thể bạn sẽ muốn kiểm soát quyền truy cập ứng với từng loại user. Những tính năng này sẽ phổ biến trên các trang web có quy mô lớn hơn một chút.

0 0 82

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

Django: Handling CSV Data

Khi làm việc với các dự án Python hay Django thì phần xử lý CSV hầu như là không thể thiếu. Qua bài viết này, các bạn hãy cùng mình hiểu rõ hơn về CSV cũng như xử lý chúng ra sao nhé.

0 0 39

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

Python Django - Xây dựng ứng dụng e-commerce (Part 1)

Giới thiệu Django - Khởi tạo project. Sơ qua về Django. . Django là một Framework lập trình web bậc cao được viết bằng ngôn ngữ lập trình Python.

0 0 877

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

Deploy thủ công ứng dụng Django

Đối với một developer mà nói, mục đích cuối cùng của chúng ta khi phát triển một sản phẩm là có thể đưa sản phẩm ấy đến được với người dùng, và deploy là bước cuối cùng mà chúng ta cần thực hiện. Tron

0 0 274

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

Dễ dàng có ngay ứng dụng e-commerce với Django (Part 2)

Xin chào tất cả mọi người. Tiếp nối bài viết trước về việc dùng Python Django để xây dựng 1 ứng dụng thương mại điện tử, sau đây mình xin phép được làm tiếp phần 2 để bổ sung thêm các chức năng, giúp

0 0 711