+2

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

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 image.png Tải lại file .bash_profile bằng lệnh:

source ~/.bash_profile

Kiểm tra kết quả.

python --version

image.png

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

image.png

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


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí