Flask Webanwendung Deployment

Django, Flask, Bottle, WSGI, CGI…
Antworten
Aramis
User
Beiträge: 17
Registriert: Dienstag 29. Mai 2018, 09:41

Hallo zusammen,

ich möchte gern meine in Flask entwickelte Webanwendung online schalten. Die Seite ist auf allinkl.de gehostet. Leider kann mir der Support hier nicht weiterhelfen. Hat jemand bereits Erfahrungen? Ich würde so vorgehen:
  • über SSH eine virtuelle Umgebung anlegen
  • die notwendigen Pakete über pip install laden
Was wäre nun der nächste Schritt, dass ich die Flask App ans laufen bekomme?

Danke und bleibt gesund!

Aramis
pyuser80
User
Beiträge: 1
Registriert: Sonntag 13. Januar 2019, 15:54

Wie man eine Flask Anwendung zum Deployment bringt ist in der Flaskdoku beschrieben.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

der gängige Weg wäre, die Flask App über eine WSGI-Server wie gunicorn auf localhost ausliefern und nginx oder Apache als Reverse Proxy davor. Ob das deine Webspace / Server hergibt -> keine Ahnung, muss du halt prüfen.

Gruß, noisefloor
Aramis
User
Beiträge: 17
Registriert: Dienstag 29. Mai 2018, 09:41

Mittlerweile hab ich es gelöst und für alle die ebenfalls eine Flask Anwendung bei diesem Provider deployen wollen nachfolgend mein Vorgehen:

im Verzeichnis: /www/htdocs/w012345/XXX muss folgendes hinterlegt sein:
  • VirtualEnv
  • .htaccess
  • cgi-Skript
  • run.py

Folgende Ergänzungen in der .htaccess vornehmen:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /path/to/XXX/app.cgi/$1 [L]
AddHandler cgi-script .cgi
Options +ExecCGI
app.cgi

Code: Alles auswählen

#!/bin/bash

source /path/to/XXX/venv/bin/activate
/path/to/my/XXX/venv/bin/python3 /path/to/XXX/run.py
run.py

Code: Alles auswählen

#!/usr/bin/env python
from wsgiref.handlers import CGIHandler
from flaskapp import create_app

app = create_app()
CGIHandler().run(app)

Ich hoffe es hilft.

Viele Grüße, Aramis
Antworten