Django Applikation in Betrieb nehmen

Veröffentlicht am

In den letzten Wochen habe ich mich mit der Entwicklung von Django Applikationen beschäftigt. Dabei ist unter anderem eine kleine Lesezeichenverwaltung entstanden – just give it a try! *leider mittlerweile offline.
Irgendwann während der Entwicklung kam ich zum Schritt an dem ich die Applikation auf einem produktiven Server in Betrieb nehmen wollte. Mit einer PHP Applikation ist das ganz einfach. Apache, PHP und allenfalls noch MySQL oder ähnliches installieren, Dateien hochladen und schon ist die Applikation lauffähig und erreichbar. Mit Python und Django funktioniert das leicht anders. Diese Step-by-Step Anleitung soll helfen, eine Django Applikation auf einem Ubuntu 14.04 Server in Betrieb zu nehmen. Der hier beschriebene Weg ist allerdings für eher kleinere Umgebungen gedacht, für grössere Applikationen ist etwas mehr Aufwand nötig.

System auf den aktuellen Stand bringen.

apt-get update
apt-get upgrade

Voraussetzungen (virtualenv, nginx) installieren.

apt-get install python-virtualenv nginx

Virtuelle Python Umgebung (virtualenv) erstellen.

virtualenv /opt/myproject

Virtuelle Umgebung aktivieren und darin Django installieren.

source /opt/myproject/bin/activate
pip install django

An dieser Stelle muss die entsprechend verwendete Datenbankapplikation installiert werden. Da diese aber in jedem Projekt verschieden sein kann, möchte ich dazu nicht im Detail eingehen.

Neue Webseite für nginx erstellen.

nano /etc/nginx/sites-available/myproject

Diese mit folgenden Inhalt abfüllen (ipaddress muss durch die IP Adresse des Systems ersetzt werden)

server {
server_name ipaddress;
access_log off;
location /static/ {
alias /opt/myproject/static/;
}
location / {
proxy_pass http://ipaddress:8001;
}
}

Seite aktivieren.

cd /etc/nginx/sites-enabled
ln -s ../sites-available/myproject

nginx neu starten.

service nginx restart

Falls dabei ein Fehler auftritt muss in der Datei /etc/nginx/nginx.conf folgende Zeile auskommentiert werden.

server_name_hash_bucket_size 64;

Source Code der Applikation auf den Server übertragen.

cd /opt/myproject
mkdir myproject
cd myproject

Hier kann nun die eigene Django Applikation platziert werden. Der Weg dazu ist frei zu wählen (z.B. FTP oder Git).

gunicorn installieren und Applikation anbinden.

pip install gunicorn
gunicorn_django –bind ipaddress:8001

CTRL+Z betätigen und danach in der Konsole „bg“ eingeben, gefolgt von einem Enter.

App konfigurieren.

nano /opt/myproject/myproject/settings.py

DEBUG auf False setzen.

DEBUG = False

Datenbankeinstellungen setzen und die statischen Dateien konfigurieren.

STATIC_ROOT = ‚/opt/myproject/static/‘
STATIC_URL = ‚/static/‘

Zum Schluss noch die statischen Dateien sammeln.

python manage.py collectstatic

Nun ist die Applikation lauffähig und sollte über den Browser erreichbar sein.

Kommentar verfassen