Cara Menjalankan Django dengan Gunicorn dan Nginx di Ubuntu 16.04

Tutorial kali ini membahas tentang cara menjalankan aplikasi berbasis Django framework dengan mengkombinasikan Gunicorn WSGI server bersama Nginx di Ubuntu 16.04. Ini juga merupakan salah satu cara dalam deployment Django di server online / VPS.

-Install pip dan virtualenv-

Install pip dan virtualenv jika menggunakan Python 2

[INPUT]

1 2 sudo apt-get install python-pip sudo pip install virtualenv

Install pip dan virtualenv jika menggunakan Python 3

[INPUT]

1 2 sudo apt-get install python3-pip sudo pip3 install virtualenv

-Membuat virtualenv-

Membuat folder belajar-django

[INPUT]

1 2 mkdir belajar-django cd belajar-django

Membuat virtualenv dengan nama folder env.

Jika ingin menggunakan Python 2 pada virtualenv.

[INPUT]

1 virtualenv -p python2 env

Jika ingin menggunakan Python 3 pada virtualenv.

[INPUT]

1 virtualenv -p python3 env

Mengaktifkan virtualenv

[INPUT]

1 source env/bin/activate

-Membuat aplikasi Django-

Menginstall Django dan Gunicorn di dalam virtual environment

[INPUT]

1 pip install django gunicorn

Membuat struktur file project Django

[INPUT]

1 django-admin startproject project .

Edit file settings.py

[INPUT]

1 nano project/settings.py

Isi bagian ALLOWED_HOST dengan nomor IP atau nama domain, misalnya

[INPUT]

1 ALLOWED_HOSTS = [‘belajardjango.id’, ‘127.0.0.1’]

Menguji Django dengan menjalankan development server

[INPUT]

1 python manage.py runserver

Menjalankan Django dengan Gunicorn

[INPUT]

1 gunicorn –bind 127.0.0.1:8000 project.wsgi

-Membuat service untuk Django-

Buat file service

[INPUT]

1 sudo nano /etc/systemd/system/belajardjango.service

Isinya

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 [Unit] Description=Gunicorn Belajar Django service After=network.target   [Service] User=musa Group=www-data WorkingDirectory=/home/musa/belajar-django Environment=”PATH=/home/musa/belajar-django/env/bin” ExecStart=/home/musa/belajar-django/env/bin/gunicorn –access-logfile – –workers 3 –bind unix:/home/musa/belajar-django/belajar-django.sock project.wsgi:application   [Install] WantedBy=multi-user.target

Jalankan service, lihat status apakah sudah jalan, dan enable agar aktif saat boot

[INPUT]

1 2 3 sudo systemctl start belajardjango sudo systemctl status belajardjango sudo systemctl enable belajardjango

-Konfigurasi Nginx-

Buat virtual host/blok konfigurasi untuk Django

[INPUT]

1 sudo nano /etc/nginx/sites-available/belajar-django

Isinya

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 server {     listen 80;     server_name NAMA_DOMAIN_NOMOR_IP;       location = /favicon.ico { access_log off; log_not_found off; }     location /static/ {             root /home/musa/belajar-django;     }       location / {         include proxy_params;         proxy_pass http://unix:/home/musa/belajar-django/belajar-django.sock;     } }

Aktifkan konfigurasi yang baru saja dibuat

[INPUT]

1 sudo ln -s /etc/nginx/sites-available/belajar-django /etc/nginx/sites-enabled

Cek apakah konfigurasi Nginx tidak ada yang salah

[INPUT]

1 sudo nginx -t

Jika sudah OK, restart Nginx

[INPUT]

1 sudo systemctl restart nginx

Terakhir browsing http://NO_IP_ATAU_NAMA_DOMAIN apakah sudah tampil Django atau tidak.

Django

selamat mencoba 🙂

Leave a Reply

Your email address will not be published.