Cara Deploy Django 3 di Ubuntu 18.04

Cara Deploy Django 3 di Ubuntu 18.04

Sebelumnya saya sudah pernah membahas tentang bagaimana cara install Django 3 di Ubuntu 18.04 dan menjalankannya dengan menggunakan development server. Saya sekarang membahas tentang bagaimana cara deploy Django 3 di Ubuntu 18.04 dan menjalankannya dengan menggunakan Nginx HTTP server dikombinasikan dengan Gunicorn WSGI server.

0.Persyaratan sistem

Perangkat lunak yang dibutuhkan yaitu:

  • Ubuntu Server 18.04 LTS (IP 216.158.228.175)
  • Django app
  • Nginx (HTTP server)
  • Gunicorn (WSGI server)
  • Domain (django.getbox.xyz)
Arsitektur Deployment Django
Arsitektur Deployment Django

HTTP request dari client (web browser) akan dilayani oleh Nginx, jika request yang diminta adalah script Django (Python) maka Nginx mengirimkan request tersebut (reverse proxy) ke Gunicorn (Green Unicorn – WSGI server). Lalu dari Gunicorn mengakses Django, lalu hasilnya (response) dikirim kembali dari Django->Gunicorn->Nginx->Web Browser.

1.Install Django app

Menyiapkan Django app untuk demo, jika sebelumnya sudah memiliki aplikasi Django lewati langkah ini, lanjutkan ke instalasi Gunicorn.

Install pip, virtualenv, dan django.

Konfigurasi project.

Ubah opsi ALLOWED_HOSTS dan tambahkan opsi STATIC_ROOT.

Jalankan collectstatic untuk mengumpulkan semua file static (gambar, css, js).

Hasilnya

Mencoba menjalankan dengan development server.

Hasilnya

Tekan CTRL+C untuk menghentikan development server.

2.Install Gunicorn

Install gunicorn via pip.

Jalankan Django dengan gunicorn.

Hasilnya

Tekan CTRL+C untuk menghentikan gunicorn.

Keluar dari virtual environment.

Membuat Gunicorn service

Membuat Gunicorn service agar Gunicorn tidak perlu dijalankan secara manual, tetap berjalan di background (daemon), dan secara default aktif saat boot (autostart).

Membuat file konfigurasi service.

Isinya

Buat direktori log.

Jalankan service dan cek statusnya.

Hasilnya

3.Install Nginx

Install Nginx web server.

Membuat server block untuk django.getbox.xyz.

Isinya.

Test konfigurasi Nginx.

Pesan yang ditampilkan jika tidak ada kesalahan pada konfigurasi Nginx.

Restart Nginx.

4.Pengujian

Browsing domain aplikasi Django.

Django Default Page
Django Default Page

Selamat mencoba 🙂

Default image
Musa Amin
I am a Linux System Administrator and also write many tutorials about Linux, Cloud, and Open Source. Hire me via email hai[at]musaamin.web.id.

Leave a Reply