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 ð