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
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 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: 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