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

Cara Menginstal Kerangka Kerja Django Python pada CentOS 8

Django adalah kerangka kerja web gratis, sumber terbuka dan tingkat tinggi yang digunakan untuk mengembangkan Aplikasi Web Python. Muncul dengan seperangkat alat yang membantu Anda membangun aplikasi web yang aman dan skalabel. Tujuan utamanya adalah untuk memudahkan pembuatan aplikasi yang kompleks dan menangani struktur internal.

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

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Kata sandi root dikonfigurasi di server Anda.

Instal Paket yang Diperlukan

Django adalah kerangka kerja berbasis Python sehingga Anda perlu menginstal Python dan PIP di sistem Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:

dnf install python36 python3-pip -y

Setelah kedua paket diinstal, Anda dapat melanjutkan ke langkah berikutnya.

Instal Django

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

pip3 menginstal Django

Setelah menginstal Django, Anda dapat memeriksa versi Django dengan perintah berikut:

django-admin --version

Anda akan melihat versi Django dalam keluaran berikut:

3.0.3

Buat Proyek Django

Pada titik ini, Django diinstal. Sekarang, waktunya membuat aplikasi Django baru.

Anda dapat membuat aplikasi Django baru menggunakan perintah django-admin di 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 migrasi

Anda akan mendapatkan output berikut:

Operasi yang harus dilakukan:Terapkan semua migrasi:admin, auth, tipe konten, sesiMenjalankan 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 dapat membuatnya 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 (kosongkan untuk menggunakan 'root'):dadminAlamat email:[email protected]Sandi:Sandi (lagi):Pengguna super berhasil dibuat.

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Mulai Aplikasi Django

Secara default, aplikasi Django tidak dapat diakses dari host jarak jauh. Jadi Anda perlu mengizinkan Django untuk host eksternal. Anda dapat melakukannya dengan menambahkan IP server Anda di settings.py:

nano /opt/djangoproject/djangoproject/settings.py

Ubah baris berikut:

ALLOWED_HOSTS =['your-server-ip']

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 dimulai dan berjalan pada port 8000. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi SELinux dan Firewall

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 di -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://your-server-ip:8000/admin. Anda akan melihat halaman berikut:

Berikan nama pengguna, kata sandi admin Anda, dan klik Log di tombol. Anda akan melihat halaman berikut:

Instal Nginx dan Gunicorn

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 aktifkan nginx

Selanjutnya, ubah kepemilikan direktori /opt/djangoproject menjadi Nginx seperti yang ditunjukkan di bawah ini:

chown -R nginx:nginx /opt/djangoproject

Buat File Layanan Systemd 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 aktifkan 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 Sen 2020-03-02 22:27:51 EST; 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 

Konfigurasi Nginx untuk Django

Selanjutnya, Anda perlu mengonfigurasi 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 =/favicon.ico { 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 Anda selesai. Kemudian, uji nginx untuk menemukan kesalahan sintaks dengan perintah berikut:

nginx -t

Jika semuanya baik-baik saja, Anda akan mendapatkan output 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 mulai 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 Anda menggunakan URL http://your-server-ip.

Kesimpulan

Dalam panduan ini, kita belajar bagaimana menginstal Django pada 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. Cara Menginstal Pip di CentOS 8

  2. Cara Menginstal Python 3.6.4 di CentOS 7

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

  1. Cara Menginstal Python 3 di CentOS 7

  2. Cara Menginstal Django di CentOS 7

  3. Cara Menginstal Flask di CentOS 7

  1. Cara Menginstal TensorFlow di CentOS 7

  2. Cara Menginstal Python di CentOS 8

  3. Cara Menginstal TensorFlow di CentOS 8