Introduzione
- Questo articolo ti guida attraverso il processo di utilizzo di Gunicorn, un server HTTP WSGI per Python, per eseguire in produzione Flask, Django e altre applicazioni WSGI.
- Prima di iniziare, assicurati di avere Python e Gunicorn installati nel tuo ambiente. Puoi installare Gunicorn usando il seguente comando:
- Aggiungi
gunicornanche al tuorequirements.txt, così Square Cloud lo installa insieme alle altre dipendenze:
requirements.txt
Utilizzo di base
Per eseguire un’applicazione web Python usando Gunicorn, devi avere un’applicazione WSGI come flask, django o qualche altro framework.Una volta che la tua applicazione è pronta, devi conoscere il nome del modulo e il nome della variabile che contiene l’oggetto dell’applicazione WSGI.
Per esempio, se hai un’applicazione Flask in un file chiamato
app.py e l’istanza Flask si chiama app, puoi eseguirla con Gunicorn usando il seguente comando:
python -m gunicornesegue Gunicorn come modulo python.--bind 0.0.0.0:80indica a Gunicorn di ascoltare su tutte le interfacce di rete sulla porta 80.app:appspecifica il nome del modulo (app) e il nome della variabile (app) che contiene l’oggetto dell’applicazione WSGI.
wsgi.py che Django crea all’interno del package del tuo progetto (sostituisci myproject con il nome del tuo progetto):
Esecuzione su Square Cloud
Inserisci il comando nel campoSTART del tuo file di configurazione, così Square Cloud avvia la tua applicazione con Gunicorn:
squarecloud.app
Gunicorn deve fare il bind su
0.0.0.0:80: Square Cloud consegna il traffico del tuo sottodominio alla porta 80 della tua applicazione. Square Cloud imposta anche la variabile d’ambiente PORT a 80, e Gunicorn la legge: senza l’opzione --bind, ascolta su 0.0.0.0:$PORT quando PORT è impostata.Opzioni aggiuntive
Gunicorn offre diverse opzioni per personalizzare il suo comportamento. Qui ne mostreremo alcune.Workers
--workers <number>
MEMORY. Se la tua applicazione si arresta con LACK_OF_RAM, riduci il numero di worker.
Nome
--name <name>-n <name>
Worker-class
--worker-class <class>-k <class>
sync, ma puoi anche usare gevent, eventlet, tornado o altri tipi di worker.
Extra
Gunicorn ha molte altre opzioni e funzionalità che puoi esplorare nella documentazione ufficiale.File di configurazione
- Puoi anche impostare le opzioni di Gunicorn in un file di configurazione Python. Gunicorn carica automaticamente un file chiamato
gunicorn.conf.pydalla directory in cui viene eseguito, che su Square Cloud è la radice del tuo progetto. Per qualsiasi altro nome di file, passalo con-c <file>.
gunicorn.conf.py
- Con questo file nel tuo progetto, il campo
STARTpuò essere semplicemente:
squarecloud.app
Prossimi passi
Flask
Fai il deploy di un’applicazione Flask dietro Gunicorn.
Django
Fai il deploy di un progetto Django dietro Gunicorn.
L'app non si avvia
Risolvi EADDRINUSE, LACK_OF_RAM e altri errori di avvio.
Ti è piaciuto questo articolo?
- Abbiamo creato questo contenuto con grande cura per offrirti il miglior aiuto possibile. Gli sviluppatori hanno già valutato Square Cloud 4,9/5 su 402 recensioni su Google e Trustpilot: lascia anche tu la tua! Ci aiuta a capire cosa conta di più per te.
Google Reviews
Lascia la tua recensione su Google Reviews.
Trustpilot
Lascia la tua recensione su Trustpilot.

