Flask: Różnice pomiędzy wersjami

(Wstępna konfiguracja)
(Konfiguracja Phusion Passenger)
 
(Nie pokazano 8 wersji utworzonych przez 3 użytkowników)
Linia 3: Linia 3:
 
=== Wstępna konfiguracja ===
 
=== Wstępna konfiguracja ===
  
Do uruchomienia strony napisanej we ''Flasku'' należy pierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
+
Do uruchomienia strony napisanej we ''Flask'' należy najpierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
  
* Dodano środowisko [[virtualenv]] dla pythona 2.7 i zainstalowano flask - <code>pip install flask</code>.
+
* Dodano środowisko [[virtualenv]] dla python i zainstalowano flask - <code>pip install flask</code>.
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
* Została dodana [[WWW|Strona WWW]] z wskazaniem typu [[Python]] oraz ścieżką do pliku binarnego <code>python</code> wewnątrz wcześniej skonfigurowanego środowiska virtualenv.
+
* Została dodana [[WWW|strona WWW]] typu [[python]] oraz ścieżką do pliku binarnego <code class="directory>python</code> wewnątrz wcześniej skonfigurowanego środowiska.
  
 
=== Projekt Flask ===
 
=== Projekt Flask ===
  
Głównym katalogiem projektu ''Flask'' musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. Należy również usunąć plik index.html poleceniem <code>rm /usr/home/''login''/domains/''domena''/public_python/static/index.html</code>.
+
Głównym katalogiem projektu ''Flask'' musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. Należy również usunąć plik index.html poleceniem <code>rm /usr/home/''login''/domains/''domena''/public_python/public/index.html</code>.
  
 
=== Konfiguracja ''Phusion Passenger'' ===
 
=== Konfiguracja ''Phusion Passenger'' ===
  
Ostatnim krokiem jest konfiguracja modułu ''Phusion Passenger'', który jest odpowiedzialny za uruchomienie aplikacji ''Flask''. Należy w katalogu projektu Flasku (<code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>) utworzyć plik <code class="directory">passenger_wsgi.py</code> i umieścić w nim następującą zawartość, modyfikując linijkę importu:
+
Ostatnim krokiem jest konfiguracja modułu ''Phusion Passenger'', który jest odpowiedzialny za uruchomienie aplikacji ''Flask''. Należy w katalogu projektu Flask (<code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>) utworzyć plik <code class="directory">passenger_wsgi.py</code> i umieścić w nim następującą zawartość, modyfikując linijkę importu:
  
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
Linia 34: Linia 34:
 
if __name__ == "__main__":
 
if __name__ == "__main__":
 
     app.run()  
 
     app.run()  
 +
</syntaxhighlight >
 +
 +
=== X-Accel-Buffering ===
 +
By wyłączyć bufforowanie należy wysłać w nagłówku odpowiedzi - np. korzystając z stream_with_context():
 +
<syntaxhighlight  lang="python">
 +
resp = Response(stream_with_context(.....parametry....))
 +
    resp.headers['X-Accel-Buffering'] = 'no'
 
</syntaxhighlight >
 
</syntaxhighlight >
  

Aktualna wersja na dzień 12:38, 8 lis 2022

Flask to webowy mikroframework do Pythona na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.

Wstępna konfiguracja

Do uruchomienia strony napisanej we Flask należy najpierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Dodano środowisko virtualenv dla python i zainstalowano flask - pip install flask.
  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana strona WWW typu python oraz ścieżką do pliku binarnego python wewnątrz wcześniej skonfigurowanego środowiska.

Projekt Flask

Głównym katalogiem projektu Flask musi być folder /usr/home/login/domains/domena/public_python. Należy również usunąć plik index.html poleceniem rm /usr/home/login/domains/domena/public_python/public/index.html.

Konfiguracja Phusion Passenger

Ostatnim krokiem jest konfiguracja modułu Phusion Passenger, który jest odpowiedzialny za uruchomienie aplikacji Flask. Należy w katalogu projektu Flask (/usr/home/login/domains/domena/public_python) utworzyć plik passenger_wsgi.py i umieścić w nim następującą zawartość, modyfikując linijkę importu:

import sys, os
sys.path.append(os.getcwd())
from aplikacja import app as application

Przykładowy plik aplikacja.py (do umieszczenia w katalogu witryny w celu przetestowania działania Flask):

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
     return "Hello World!"

if __name__ == "__main__":
     app.run()

X-Accel-Buffering

By wyłączyć bufforowanie należy wysłać w nagłówku odpowiedzi - np. korzystając z stream_with_context():

resp = Response(stream_with_context(.....parametry....))
    resp.headers['X-Accel-Buffering'] = 'no'

Odnośniki Zewnętrzne