English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le applicazioni Flask sul server di sviluppo possono essere accedute solo sui computer che hanno impostato l'ambiente di sviluppo. Questo è un comportamento predefinito, poiché nella modalità di debug gli utenti possono eseguire qualsiasi codice sul computer.
Se la debug è disabilitata, impostando il nome dell'host su:0.0.0.0, gli utenti sulla rete possono utilizzare il server di sviluppo locale sul computer.
# Nome file: example.py # Copyright: 2020 Da w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 app.run(host = '0.0.0.0')
In questo modo, il sistema operativo ascolterà tutte le IP pubbliche, il che significa che tutte le richieste verranno gestite.
Per passare dall'ambiente di sviluppo a un ambiente di produzione completo, l'applicazione deve essere distribuita su un vero server web. A seconda della vostra situazione specifica, è possibile utilizzare diverse opzioni per distribuire l'applicazione web Flask.
Per applicazioni di piccola dimensione, è possibile considerare di distribuirle su una qualsiasi delle seguenti piattaforme di hosting, tutte le quali offrono piani gratuiti per applicazioni di piccola dimensione.
Heroku dotcloud webfaction
Applicazioni Flask possono essere distribuite su queste piattaforme cloud. Inoltre, è possibile distribuire applicazioni Flask sulla piattaforma Google Cloud. Il servizio Localtunnel consente di condividere le applicazioni locali senza confondere le impostazioni di DNS e firewall.
Se preferite utilizzare un server web dedicato invece delle piattaforme condivise menzionate sopra, è possibile utilizzare le seguenti opzioni.
mod_wsgi è un modulo Apache che fornisce un'interfaccia compatibile con WSGI per ospitare applicazioni web basate su Python sui server Apache.
Installare mod_wsgi
Per installare direttamente la versione ufficiale da PyPi, è possibile eseguire -
# Nome file: example.py # Copyright: 2020 Da w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 pip install mod_wsgi
Per verificare che l'installazione sia avvenuta con successo, eseguire il comando start-server del script mod_wsgi-express -
# Nome file: example.py # Copyright: 2020 Da w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 mod_wsgi-express start-server
inizierà sulla porta:8000 Apache/mod_wsgiPoi, è possibile indirizzare il browser a -
# Nome file: example.py # Copyright: 2020 Da w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 http://localhost:8000/
Crea il file .wsgi
Dovrebbe esserci un yourapplication.wsgi Il file. Questo file contiene il codice mod_wsgi, che viene eseguito all'avvio per ottenere l'oggetto dell'applicazione. Per la maggior parte delle applicazioni, il seguente file dovrebbe essere sufficiente -
# Nome file: example.py # Copyright: 2020 Da w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 from yourapplication import app as application
Assicurati che yourapplication e tutte le librerie utilizzate siano nel percorso di caricamento del python.
Configura Apache
Devi dire a mod_wsgi la posizione dell'applicazione. Ecco una configurazione di esempio -
# Nome file: example.py # Copyright: 2020 Da w3codebox # Autore: it.oldtoolbag.com # Data: 2020-08-08 <VirtualHost *> ServerName example.com WSGIScriptAlias / C:\yourdir\yourapp.wsgi <Directory C:\yourdir> Order deny,allow Allow from all </Directory> </VirtualHost>
Ci sono molti server popolari scritti in Python, che contengono applicazioni WSGI e forniscono servizi HTTP.
Gunicorn Tornado Gevent Twisted Web