- Menskalakan apl web anda adalah penting untuk berjaya.
- Django hebat, tetapi Gunicorn dan Nginx diperlukan untuk kebolehskalaan sebenar.
- Siaran ini menunjukkan kepada anda cara membina apl Django berskala dengan Gunicorn dan Nginx.
- Siaran ini mengikuti dalam "Kali Linux". Anda boleh menggunakan mana-mana OS berasaskan Linux.
pengenalan:
- Membina aplikasi web yang boleh mengendalikan bilangan pengguna yang semakin meningkat dan permintaan adalah penting untuk sebarang projek yang berjaya.
- Django, rangka kerja Python yang berkuasa, menyediakan asas yang kukuh, tetapi untuk kebolehskalaan sebenar, anda perlu memanfaatkan kuasa alatan seperti Gunicorn dan Nginx.
- Siaran ini akan membimbing anda melalui proses menyediakan aplikasi Django berskala menggunakan Gunicorn dan Nginx, memastikan tapak web anda boleh mengendalikan permintaan pangkalan pengguna yang semakin meningkat.
⚙️ Menyediakan -
- Saya melakukan ini di Linux.
- Semak dahulu python3, pip, nginx Dipasang atau tidak.
- Untuk memasang gunakan arahan ini (pasang di rumah/Desktop atau terminal baharu)
sudo apt install python3 python3-pip nginx
- Sekarang cipta persekitaran Maya (buat folder baharu ? untuk ini)
- Aktifkan persekitaran
source environment_name/bin/activate # use name created above "environment_name"
- Sekarang Pasang pakej ? dalam persekitaran
pip install django
pip install gunicorn
// or directly install both
pip install django gunicorn
Mencipta Projek Django
- Gunakan arahan ini untuk mencipta projek Django
django-admin startproject myproject # use any name "myproject"
Buat Fail Konfigurasi Gunicorn
nano gunicorn_conf.py # use any name but using same better "gunicorn_conf.py"
- Tambah kod berikut dalam "gunicorn_config.py"
import multiprocessing
bind = '127.0.0.1:8000' # Django running port/link
workers = multiprocessing.cpu_count() * 2 + 1
- Simpan fail menggunakan "CTRL + o"(untuk menyimpan), tekan ENTER, "CTRL + X"(untuk keluar)
- Ini akan mewujudkan pekerja dan kami juga harus menambah pautan larian Django kami.
### Jalankan projek/aplikasi Django dengan gunicorn
- Mula-mula menavigasi ke folder projek
cd myproject # navigate to Django Project "myproject"
- Sekarang jalankan arahan ini
gunicorn myapp.wsgi:application -c ../gunicorn_conf.py # here myapp is myproject
# here "myapp" is a Django project name, and at last gunicorn_conf.py is a gunicorn configuration file which created above/before.
- Sekarang buat beberapa perubahan dalam projek Django
- Mula-mula tukar beberapa kod dalam settings.py dalam folder projek. Direktori myproject/myproject/settings.py > Projek Django
- Untuk ini gunakan mana-mana editor kod seperti Kod VS. Untuk membuka dari terminal gunakan arahan ini
code- oss
# to open vs code from terminal
# example code
ALLOWED_HOSTS = ['localhost', '0.0.0.0', '127.0.0.1'] # use IP address here
- Dalam arahan di atas kami menggunakan alamat IP, untuk membuka terminal baharu yang lain dan jalankan arahan ini untuk mendapatkan semua tentang rangkaian.
ifconfig
Buat Fail Konfigurasi Nginx
- Buka terminal baharu yang lain, jalankan arahan ini
sudo nano /etc/nginx/sites-available/myapp # use any name "myapp"
# better use vs code instead of nano
sudo code- oss /etc/nginx/sites-available/myapp # check code-oss
- Tambah kod dalam fail nginx itu
server {
listen 80;
server_name your_domain.com; # Replace with your domain or IP address
# example for aboveline: server_name 'ipaddress' 'another domain' ;
location / {
proxy_pass http://127.0.0.1:8000; # Gunicorn's default address
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
- simpan fail
- buat Pautan Simbolik untuk mendayakan Konfigurasi Nginx, jalankan arahan ini
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
# change "myapp" to nginx config file name used above
- Itu sahaja.
## Ujian:
- Pertama semak fail konfigurasi Nginx untuk sebarang ralat sintaks.
sudo nginx -t
- Jika anda tidak mempunyai sebarang ralat, mulakan semula Nginx menggunakan arahan ini
sudo systemctl restart nginx
Menyediakan Firewall untuk Nginx
- Buka terminal baharu dan pasang pakej ini
sudo apt install ufw
- Sekarang benarkan Nginx melalui Firewall
sudo ufw allow 'Nginx Full'
Menggunakan Arahan -
- Mulakan Nginx dengan membuka terminal baharu
sudo systemctl start nginx
- Sekarang untuk memulakan projek lengkap buka terminal dan pergi ke virtualenv yang dibuat dan aktifkan
gunicorn myapp.wsgi:application -c ../gunicorn_conf.py
# in above code "myapp" is a Django project name
# last gunicorn_conf.py is a gunicorn configuration file name
- Kini projek lengkap bermula.
- Kini anda boleh membuka projek django anda dengan alamat IP anda.
- Navigasi ke penyemak imbas dan cari dengan alamat IP anda.
- Untuk menghentikan Nginx, gunakan arahan ini
sudo systemctl stop nginx
Selamat Pengekodan ? - Menjadi Malas
Hubungi DM - Twitter(X)
Hubungi Mail - sanya.san@myyahoo.com
Atas ialah kandungan terperinci Membina Aplikasi Django Boleh Skala dengan Gunicorn dan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!