Sprache auswählen

Django ist ein Framework, um Web-Applikationen in Python zu entwickeln.

Auf Ihrem Managed Flex Server bieten wir Ihnen die neusten Python-Versionen an. Diese Versionen werden von uns regelmässig aktualisiert.

In dieser Anleitung ist beschrieben, wie Sie eine Django-Applikation auf Ihrem Managed Flex Server in Betrieb nehmen können.

Anforderungen

Um eine Django-Applikation in Betrieb nehmen zu können, benötigten Sie mindestens einen Managed Flex Server M.

Erstellen einer Django-Applikation

In dieser Anleitung wird eine einfache «Hello World»-Applikation erstellt, welche einen simplen Text auf HTTP-Anfragen ausliefert.

Wir empfehlen Ihnen, für Ihre eigenen Applikationen einen Ordner ~/app/ und darin jeweils für jede Ihrer Applikationen einen eigenen Unterordner zu erstellen. So haben Sie jederzeit eine saubere Ordnung und eine klare Übersicht. Für die Django-Applikation erstellen wir daher den Ordner ~/app/helloworld und wechseln in diesen Ordner:

mkdir -p ~/app/helloworld
cd ~/app/helloworld

Im neu erstellten Applikations-Ordner ~/app/helloworld erstellen Sie nun die benötigte Struktur für Ihre Applikation. In diesem Beispiel wird ein einfaches Django-Projekt aufgesetzt:

python3 -m venv venv
source venv/bin/activate
pip install django gunicorn
django-admin startproject helloworld .

Es ist empfohlen, Ihre Python-Projekte jeweils in eigene, separate «Virtual Environments» zu installieren. In diesem Beispiel wird dies mittels "python3 -m venv venv && source venv/bin/activate" gemacht.

In diesem Beispiel wird ein einfacher Text auf HTTP-Requests ausgegeben. Bearbeiten Sie hierzu die Datei ~/app/helloworld/helloworld/urls.py wie folgt:

~/app/helloworld/helloworld/urls.py
from django.contrib import admin 
from django.urls import path 
from django.http import HttpResponse 

urlpatterns = [ 
    path('', lambda r: HttpResponse('Hello World')), 
    path('admin/', admin.site.urls), 
]

Zusätzlich muss in den Django-Settings die ALLOWED_HOSTS-Variable angepasst werden. Der Einfachheit halber wird in diesem Beispiel der Zugriff von allen Domains aus erlaubt:

sed -i "" "s/ALLOWED_HOSTS =.*/ALLOWED_HOSTS = ['*']/" ~/app/helloworld/helloworld/settings.py

Integration

Betrieb mit der Custom Service Control

Die Custom Service Control (CSC) kann sich um den Betrieb und das automatische Management Ihrer Applikation, zum Beispiel das Starten und Stoppen bei Wartungsarbeiten an Ihrem Server, kümmern.

Die Konfiguration der Django-helloworld-App in der CSC ist denkbar einfach. Erstellen Sie dazu einen neuen Custom Service für die Django-Applikation:

hpservices supervisord add helloworld

Dabei wird in der Datei ~/.services/supervisord/helloworld/service.conf ein Konfigurationsgerüst für den neuen Service erstellt. Für die Django-Applikation muss nur das command angepasst werden, ansonsten können Sie alle vorgeschlagenen Werte übernehmen (Strichpunkt am Anfang der Zeile entfernen).

~/.services/supervisord/helloworld/service.conf
[program:helloworld]
command=%(ENV_HOME)s/app/helloworld/venv/bin/gunicorn helloworld.wsgi -b 127.0.0.1:8080 ; the program (can take args)
directory=%(ENV_HOME)s/app/helloworld/       ; directory to cwd to before exec (default no cwd)
autostart=true                ; start application at supervisord start (default: true)
stopwaitsecs=10               ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/helloworld/log/default.log
stdout_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10     ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/helloworld/log/default.err
stderr_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10     ; number of stderr logfile backups (0 means none, default 10)

Mit supervisorctl update können sie die neue Konfiguration für ihre Django-Applikation aktivieren:

supervisorctl update
helloworld: added process group

Achtung: Falls Sie einen Fehler erhalten, muss zuerst einmalig "hpservices supervisord start" ausgeführt werden.

Genaueres zur Bedienung und zu den Möglichkeiten, die Ihnen mit der CSC zur Verfügung stehen, können Sie in der Anleitung zur Custom Service Control entnehmen.

Webserver-Konfiguration

Möchten Sie nun Ihre Applikation über HTTP(s) züganglich machen, müssen Sie Ihre Website im Hostpoint Control Panel so konfigurieren, dass der Webserver die Anfragen als Proxy an Ihre Applikation weiterleitet.

Erstellen Sie in Ihrem Hostpoint Control Panel eine Website vom Typ «Nginx Proxy auf eigene Applikation»:

Django DE

Server-Adresse und Port
Die Proxy-Funktion erwartet, dass Ihre Applikation auf die IPv4-Loopback-Adresse 127.0.0.1 hört, und somit müssen Sie nur den Port angeben: 8080.
Nutzen Sie dieses Formular für Feedback zur obigen Anleitung.
Für Supportanfragen verwenden Sie bitte dieses Formular.

 

 

© 2001 - Hostpoint AG
Cookie

Wir verwenden Cookies  🍪

We use Cookies  🍪

Nous utilisons des cookies  🍪

Utilizziamo dei cookie  🍪

Die digitalen Auftritte von Hostpoint (Website, Control Panel, Support Center etc.) verwenden Cookies. Diese werden dazu verwendet, um Daten über Besucherinteraktionen zu sammeln. Wenn Sie auf «Akzeptieren» klicken, stimmen Sie der Verwendung dieser Cookies für Werbezwecke, Website-Analyse und Support zu. Gewisse essenzielle Cookies sind jedoch für eine ordnungsgemässe Funktion dieser Seiten unerlässlich und können deshalb nicht deaktiviert werden. Auch ohne Ihre Zustimmung können gewisse Daten in anonymisierter Form für statistische Zwecke und zur Verbesserung unserer Websites verwendet werden. Bitte beachten Sie unsere Datenschutzerklärung.

Hostpoint's digital presences (website, Control Panel, Support Center, etc.) use cookies. These are used to collect data on visitor interactions. If you click “Accept”, you agree to the use of these cookies for advertising purposes, website analysis and support. However, certain cookies are essential for the proper functioning of these pages and therefore cannot be disabled. Even without your consent, certain data may be used in anonymized form for statistical purposes and to improve our websites. Please note our Privacy policy.

Le sites Web de Hostpoint (site Web, Control Panel, Centre d'assistance, etc.) utilisent des cookies. Ces cookies servent à collecter des données sur les interactions des visiteurs. En cliquant sur «Accepter», vous consentez à l’utilisation de ces cookies à des fins de publicité, d’analyse du site Web et d’assistance. Certains cookies essentiels sont cependant indispensables au bon fonctionnement de notre sites Web et ne peuvent donc pas être désactivés. Même sans votre consentement, certaines données peuvent être utilisées sous forme anonymisée à des fins statistiques et pour améliorer notre sites Web. Veuillez prendre connaissance de notre Déclaration de protection des données.

Le presenze digitali di Hostpoint (sito web, Pannello di controllo, Support Center, ecc.) utilizzano i cookie. Questi vengono utilizzati per raccogliere dati sulle interazioni dei visitatori. Facendo clic su «Accetta», acconsente all’utilizzo di questi cookie per scopi pubblicitari, di analisi del sito web e di supporto. Alcuni cookie essenziali sono tuttavia indispensabili per il corretto funzionamento di questi siti web e pertanto non possono essere disattivati. Anche senza il Suo consenso, determinati dati potrebbero essere utilizzati in forma anonima per fini statistici e per l’ottimizzazione dei nostri siti web. Si prega di tenere conto della nostra Dichiarazione per la pivacy.

Ablehnen
Decline
Refuser
Rifiuta
Akzeptieren
Accept
Accepter
Accetta