> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Come usare Gunicorn

> Scopri come usare Gunicorn, un server HTTP Python.

## Introduzione

* Questo articolo ti guida attraverso il processo di utilizzo di Gunicorn, un server HTTP WSGI per Python.
* Prima di iniziare, assicurati di avere Python e Gunicorn installati nel tuo ambiente. Puoi installare Gunicorn usando il seguente comando:

```bash theme={null}
pip install gunicorn
```

## 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:

```bash theme={null}
python -m gunicorn --bind 0.0.0.0:80 app:app 
```

In questo comando:

* `python -m gunicorn` esegue Gunicorn come modulo python.
* `--bind 0.0.0.0:80` indica a Gunicorn di ascoltare su tutte le interfacce di rete sulla porta 80.
* `app:app` specifica il nome del modulo (`app`) e il nome della variabile (`app`) che contiene l'oggetto dell'applicazione WSGI.

## Opzioni aggiuntive

Gunicorn offre diverse opzioni per personalizzare il suo comportamento. Qui ne mostreremo alcune.

### Workers

* `--workers <number>`

Questa opzione imposta il numero di processi worker per la gestione delle richieste. In genere si usano 2-4 worker per core della CPU.\
Puoi calcolare il numero di worker usando la formula: `(2 x $num_cores) + 1`.

### Nome

* `--name <name>`
* `-n <name>`

Questa opzione imposta il nome del processo per Gunicorn.

### Worker-class

* `--worker-class <class>`
* `-k <class>`

Questa opzione imposta il tipo di worker da utilizzare. Il valore predefinito è `sync`, ma puoi anche usare `gevent`, `eventlet`, `tornado` o altri tipi di worker.

### Paste

* `--paste <configfile>`

Questa opzione ti permette di caricare un file di configurazione PasteDeploy.
Questo è utile per framework come Pyramid e Turbogear che usano file PasteDeploy.

## Extra

Gunicorn ha molte altre opzioni e funzionalità che puoi esplorare nella [documentazione ufficiale](https://docs.gunicorn.org/en/stable/settings.html).

### File di configurazione

* Puoi anche creare un file di configurazione per impostare le opzioni di Gunicorn.
  Questo file può essere in formato Python e chiamato `gunicorn.config.py`.

```python gunicorn.config.py theme={null}
import multiprocessing

bind = "0.0.0.0:80"
workers = multiprocessing.cpu_count() * 2 + 1
```

## Ti è piaciuto questo articolo?

* Abbiamo creato questo contenuto con grande cura per offrirti il miglior aiuto possibile.
  Se questo articolo ti è stato utile in qualche modo, sostieni il nostro lavoro! Lascia la tua recensione! ci aiuta a capire cosa conta di più per te.

<CardGroup cols={2}>
  <Card title="Google Reviews" icon="google" href="https://g.page/r/CYZenpQcDgTzEAI/review">
    Lascia la tua recensione su Google Reviews.
  </Card>

  <Card title="Trustpilot" icon="star" href="https://www.trustpilot.com/review/squarecloud.app">
    Lascia la tua recensione su Trustpilot.
  </Card>
</CardGroup>
