[ID] Deploy Django pada VPS / Server dengan port custom

Artikel bahasa inggris

Saya sudah mencari di google tentang deploy Aplikasi Django menggunakan port custom, tapi kebanyakan yang saya temukan itu hanya sebuah saran, bukan tutorial. Saya menjadi sangat bingung sekali, apa yang ada di dalam pikiran saya “Bagaimana deploy django pada vps dengan port custom“, ya Saya punya sebuah akses ke PVS dengan sebuah ip publik, tapi tidak mempunyai DNS server, juga domain. Apa yang Saya inginkan adalah mengakses VPS tersebut, seperti publicip:port contoh: 10.234.78.253:8090

Setelah mencari di google, Saya menemukan beberapa atrikel yang bagus

Pada Server ada beberapa setting yang dibutuhkan pada wsgi file dan virtual host, berikut ini setting nya:

  • wsgi files (Contoh: /PATH/TO/DJANGO/PROJECT/django.wsgi)
import os
import sys
sys.stdout = sys.stderr

path = '/PATH/TO/DJANGO/PROJECT'
if path not in sys.path:
sys.path.insert(0, '/PATH/TO/DJANGO/PROJECT')

os.environ['DJANGO_SETTINGS_MODULE'] = 'YOUR_PROJECT.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
  • apache virtual hosts files (/etc/apache2/sites-available/WSGI_PROJECT)
Listen 10.234.78.253:8090
<VirtualHost 10.234.78.253:8090>

    ServerName localhost
    DocumentRoot /PATH/TO/DJANGO/PROJECT

    <Directory /PATH/TO/DJANGO/PROJECT>
        Order allow,deny
        Allow from all
    </Directory>

    WSGIDaemonProcess localhost processes=2 threads=10 display-name=%{GROUP}
    WSGIProcessGroup localhost

    WSGIScriptAlias / /PATH/TO/DJANGO/PROJECT/django.wsgi

</VirtualHost>

  • restart apache server dengan perintah
> sudo a2ensite WSGI_PROJECT
> sudo /etc/init.d/apache2 reload

Coba buka alamat ip ini 10.234.78.253:8090 and project sudah bisa diakses melalui server.

Bahan Bacaan:

  1. Virtual Hosts Doc http://httpd.apache.org/docs/2.0/vhosts/examples.html
  2. Django Project Documentation files https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/

Leave a comment