GNU/Linux >> Belajar Linux >  >> Cent OS

Instal Django Python Framework di Rocky Linux 8 / CentOS 8

Django adalah kerangka kerja web tingkat tinggi sumber terbuka dan gratis yang digunakan untuk mengembangkan Aplikasi Web Python. Django hadir dengan seperangkat alat yang membantu Anda membangun aplikasi web yang aman dan dapat diskalakan. Tujuan utamanya adalah untuk memfasilitasi pembuatan aplikasi yang kompleks dan memelihara struktur internal.

Dalam tutorial ini, kita akan belajar bagaimana menginstal Django dan mengkonfigurasi Nginx sebagai proxy terbalik untuk Django di Rocky Linux 8 dan CentOS 8.

Prasyarat

  • Server dengan sistem operasi CentOS 8.
  • Masuk sebagai root atau pengguna dengan hak istimewa sudo

Instal Paket yang Diperlukan

Django adalah kerangka kerja berbasis Python, jadi Anda perlu menginstal Python dan PIP di sistem Anda. Untuk dapat menginstalnya, jalankan perintah berikut:

dnf install python36 python3-pip -y 

Setelah kedua paket diinstal, lanjutkan ke langkah berikutnya.

Instal Django di Rocky Linux 8

Anda dapat menginstal Django dengan perintah PIP seperti yang ditunjukkan di bawah ini:

pip3 install Django 

Setelah menginstal Django, periksa versi Django dengan perintah berikut:

django-admin --version 

Anda akan melihat versi Django dalam keluaran berikut:

3.0.3 

pada saat penulisan artikel ini, versi Django adalah versi 3.0.3

Buat Proyek Django

Pada titik ini, Django telah berhasil diinstal. Sekarang, waktunya membangun aplikasi Django.

Anda dapat membuat aplikasi Django menggunakan perintah django-admin dalam direktori /opt seperti yang ditunjukkan di bawah ini:

cd /opt
 django-admin startproject djangoproject 

Setelah proyek django dibuat, ubah direktori menjadi djangoproject dan migrasikan perubahan dengan perintah berikut:

cd djangoproject
 python3 manage.py migrate 

Anda akan mendapatkan output berikut:

Operasi yang harus dilakukan:Menerapkan semua migrasi:admin, auth, tipe konten, sesi Menjalankan migrasi:Menerapkan tipe konten.0001_initial... OK Menerapkan auth.0001_initial... OK Menerapkan admin.0001_initial... OK Menerapkan admin.0002_logentry_remove_auto_add.. .OK Menerapkan admin.0003_logentry_add_action_flag_choices... OK Menerapkan contenttypes.0002_remove_content_type_name... OK Menerapkan auth.0002_alter_permission_name_max_length... OK Menerapkan auth.0003_alter_user_email_max_length... OK4_useralter_logt.000 Menerapkan... Menerapkan auth.0006_require_contenttypes_0002... OK Menerapkan auth.0007_alter_validators_add_error_messages... OK Menerapkan auth.0008_alter_user_username_max_length... OK Menerapkan auth.0009_alter_user_last_name_max_length... OK Menerapkan auth_update_length_length00 .0001_initial... Oke 

Selanjutnya, Anda perlu membuat akun pengguna admin untuk mengelola proyek Django Anda dengan perintah berikut:

python3 manage.py createsuperuser 

Anda akan diminta untuk memberikan nama pengguna, email, dan kata sandi Anda. Anda dapat memberikannya sesuai pilihan Anda seperti yang ditunjukkan di bawah ini:

Nama pengguna (biarkan kosong untuk menggunakan 'root'):dadminAlamat email:[dilindungi email] Sandi:Sandi (lagi):Pengguna super berhasil dibuat. 

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Mulai Aplikasi Django

Secara default, aplikasi Django hanya dapat diakses dari localhost saja, untuk membuat Django terhubung ke internet, anda harus mengizinkan Django untuk host eksternal. Anda dapat melakukannya dengan menambahkan IP server Anda di IP settings.py:

nano /opt/djangoproject/djangoproject/settings.py 

Ubah baris berikut:

ALLOWED_HOSTS =['ip_server_Anda'] 

Simpan dan tutup file. Kemudian, jalankan aplikasi Django dengan perintah berikut:

cd /opt/djangoproject
 python3 manage.py runserver 0.0.0.0:8000 

Anda akan melihat output berikut:

Menonton perubahan file dengan StatReloaderMelakukan pemeriksaan sistem...Pemeriksaan sistem mengidentifikasi tidak ada masalah (0 dibungkam). 03 Maret 2020 - 02:31:19Django versi 3.0.3, menggunakan pengaturan 'djangoproject.settings'Memulai server pengembangan di http://0.0.0.0:8000/Keluar dari server dengan CONTROL-C.Aplikasi Django sekarang dimulai dan berjalan pada port 8000. 

Pada titik ini, aplikasi Django sekarang aktif dan berjalan pada port 8000. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi SELinux dan Firewall di Rocky Linux 8

Selanjutnya, Anda harus mengizinkan port 8000 dan 80 melalui firewalld. Anda dapat mengizinkannya dengan perintah berikut:

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

Selanjutnya, konfigurasikan SELinux dengan perintah berikut:

setsebool httpd_can_network_connect on -P 

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Akses Aplikasi Django

Anda dapat mengakses aplikasi Django dengan mengunjungi URL http://your-server-ip:8000. Anda akan melihat halaman berikut:

Anda juga dapat mengakses antarmuka admin Django menggunakan URL http://server-ip:8000/admin. Anda akan melihat halaman berikut:

Berikan username admin, password dan klik tombol Log di . Anda akan melihat halaman berikut:

Instal Nginx dan Gunicorn di Rocky Linux 8

Di bagian ini, kita akan menginstal Gunicorn untuk membuat dan mengelola layanan Django, dan Nginx untuk melayani aplikasi Django.

Pertama, instal Nginx dengan perintah berikut:

dnf install nginx -y 

Selanjutnya, instal Gunicorn menggunakan perintah PIP seperti gambar di bawah ini:

pip3 install gunicorn 

Setelah kedua paket diinstal, mulai layanan Nginx dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start nginx
 systemctl enable nginx 

Selanjutnya, ubah kepemilikan direktori /opt/djangoproject ke Nginx seperti gambar di bawah ini:

chown -R nginx:nginx /opt/djangoproject 

Buat Layanan Sistem File Untuk Django

Selanjutnya, buat file layanan systemd untuk mengelola layanan Django dengan perintah berikut:

nano /etc/systemd/system/django.service 

Tambahkan baris berikut:

[Unit]Description=django daemonAfter=network.target[Service]User=nginxGroup=nginxWorkingDirectory=/opt/djangoprojectExecStart=/usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/ djangoproject.sock djangoproject.wsgi:application[Install]WantedBy=multi-user.target 

Simpan dan tutup file kemudian muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload 

Selanjutnya, mulai layanan Django dan aktifkan untuk memulai setelah sistem di-boot ulang dengan perintah berikut:

systemctl start django
 systemctl enable django 

Anda sekarang dapat memeriksa status layanan Django dengan perintah berikut:

systemctl status django 

Anda akan melihat output berikut:

? django.service - django daemon Dimuat:dimuat (/etc/systemd/system/django.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Senin-03-02 22:27:51 UTC; 3 menit 32 detik yang lalu PID Utama:960 (Django) Tugas:4 (batas:25028) Memori:95.2M CGroup:/system.slice/django.service ??960 /usr/bin/python3.6 /usr/local/bin/ gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject.sock djangoproject.wsgi:a> ??964 /usr/bin/python3.6 /usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject.sock djangoproject.wsgi:a> ??965 /usr/bin/python3.6 /usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject .sock djangoproject.wsgi:a> ??966 /usr/bin/python3.6 /usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject.sock djangoproject.wsgi:a> 02 Mar 22:27:51 centos8 systemd[1]:Memulai django daemon.02 Mar 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Memulai django 20.0.4Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Mendengarkan di:unix:/opt/djangoproject/djangoproject.sock (960)02 Maret 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Menggunakan pekerja:syncMar 02 22:27:52 centos8 django[960]:[2020-03-02 22 :27:52 -0500] [964] [INFO] Boot pekerja dengan pid:964Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [965] [INFO ] Boot pekerja dengan pid:965Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [966] [INFO] Boot pekerja dengan pid:966h pid:966  

Konfigurasikan Nginx untuk Django

Selanjutnya, konfigurasikan Nginx sebagai proxy terbalik untuk Django. Untuk melakukannya, buat file konfigurasi Nginx baru dengan perintah berikut:

nano /etc/nginx/conf.d/django.conf 

Tambahkan baris berikut:

server { dengarkan 80; server_name your-server-ip location =https://cdn.linuxid.net/favicon.ico?x87109 { access_log off; log_not_ditemukan mati; } lokasi /static/ { root /opt/djangoproject; } lokasi / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Diteruskan-Untuk $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $skema; proxy_pass http://unix:/opt/djangoproject/djangoproject.sock; }} 

Simpan dan tutup file setelah selesai. Kemudian, uji nginx untuk menemukan kesalahan sintaks dengan perintah berikut:

nginx -t 

Jika tidak ada error maka akan muncul output sebagai berikut:

nginx:file konfigurasi /etc/nginx/nginx.conf sintaksnya oknginx:file konfigurasi /etc/nginx/nginx.conf tes berhasil 

Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:

systemctl start nginx 

Anda juga dapat memverifikasi Nginx dengan perintah berikut:

systemctl status nginx 

Anda akan mendapatkan output berikut:

? nginx.service - HTTP nginx dan server proxy terbalik Dimuat:dimuat (/usr/lib/systemd/system/nginx.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Sen 2020-03-02 22:28:13 EST; 4 menit 14 detik yang lalu Proses:984 ExecStart=/usr/sbin/nginx (kode=keluar, status=0/SUCCESS) Proses:982 ExecStartPre=/usr/sbin/nginx -t (kode=keluar, status=0/SUCCESS) Proses :980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (kode=keluar, status=0/SUCCESS) PID Utama:985 (nginx) Tugas:3 (batas:25028) Memori:5,5M CGroup:/system.slice/nginx.service ??985 nginx:master process /usr/sbin/nginx ??986 nginx:worker process ??987 nginx:worker processMar 02 22:28:12 centos8 systemd[1]:Memulai nginx HTTP dan server proxy terbalik...02 Mar 22:28:12 centos8 nginx[982]:nginx:file konfigurasi /etc/nginx/nginx.conf sintaksnya okMar 02 22:28:12 centos8 nginx[982]:nginx :file konfigurasi /etc/nginx/nginx.conf tes berhasil 02 Mar 22:28:13 centos8 systemd[1]:Memulai HTTP nginx dan server proxy terbalik. 

Anda sekarang dapat mengakses aplikasi Django menggunakan URL http://server_IP_address.

Kesimpulan

Dalam panduan ini, kita belajar bagaimana menginstal Django di Rocky Linux 8 dan CentOS 8. Kita juga belajar bagaimana menggunakan Gunicorn untuk membuat dan mengelola layanan Django dan mengkonfigurasi Nginx sebagai proxy terbalik untuk melayani aplikasi Django.


Cent OS
  1. Bagaimana menginstal Mysql 8 di Rocky Linux/Centos 8

  2. Cara menginstal &mengkonfigurasi Redis 6 di Rocky Linux/Centos 8

  3. Cara menginstal Java 17 Di Rocky Linux 8/Centos 8

  1. Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8

  2. Cara Menginstal Klien FreeIPA di Rocky Linux/Alma Linux/CentOS 8

  3. Cara Menginstal Python 3.10 di Rocky Linux 8

  1. Cara Instal PostgreSQL di CentOS 8 / Rocky Linux 8 / RHEL 8

  2. Cara Menginstal Python 2/3 di Rocky Linux/Centos 8

  3. Cara menginstal Python 2.7 atau Python 3.x + Django 1.8 + di CentOS 6 + cPanel