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
- http://blog.stannard.net.au/2010/12/11/installing-django-with-apache-and-mod_wsgi-on-ubuntu-10-04/ Saya sudah mencoba di lokal, tak ada masalah, namun bagaimana jika di server?
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:
- Virtual Hosts Doc http://httpd.apache.org/docs/2.0/vhosts/examples.html
- Django Project Documentation files https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/