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

# Comment utiliser Gunicorn

> Apprenez à utiliser Gunicorn, un serveur HTTP Python.

## Introduction

* Cet article vous guide tout au long du processus d'utilisation de Gunicorn, un serveur HTTP WSGI pour Python.
* Avant de commencer, assurez-vous d'avoir Python et Gunicorn installés dans votre environnement. Vous pouvez installer Gunicorn à l'aide de la commande suivante :

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

## Utilisation de base

Pour exécuter une application web Python avec Gunicorn, vous devez disposer d'une application WSGI comme flask, django ou un autre framework.\
Une fois votre application prête, vous devez connaître le nom du module et le nom de la variable qui contient l'objet application WSGI.\
Par exemple, si vous avez une application Flask dans un fichier nommé `app.py` et que l'instance Flask est nommée `app`, vous pouvez l'exécuter avec Gunicorn à l'aide de la commande suivante :

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

Dans cette commande :

* `python -m gunicorn` exécute Gunicorn en tant que module python.
* `--bind 0.0.0.0:80` indique à Gunicorn d'écouter sur toutes les interfaces réseau sur le port 80.
* `app:app` spécifie le nom du module (`app`) et le nom de la variable (`app`) qui contient l'objet application WSGI.

## Options supplémentaires

Gunicorn fournit plusieurs options pour personnaliser son comportement. Nous en présentons ici quelques-unes.

### Workers

* `--workers <number>`

Cette option définit le nombre de processus worker chargés de traiter les requêtes. En général, utilisez 2 à 4 workers par cœur de CPU.\
Vous pouvez calculer le nombre de workers avec la formule : `(2 x $num_cores) + 1`.

### Name

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

Cette option définit le nom du processus pour Gunicorn.

### Worker-class

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

Cette option définit le type de worker à utiliser. La valeur par défaut est `sync`, mais vous pouvez également utiliser `gevent`, `eventlet`, `tornado` ou un autre type de worker.

### Paste

* `--paste <configfile>`

Cette option vous permet de charger un fichier de configuration PasteDeploy.
C'est utile pour des frameworks comme Pyramid et Turbogear qui utilisent des fichiers PasteDeploy.

## Extras

Gunicorn possède de nombreuses autres options et fonctionnalités que vous pouvez explorer dans la [documentation officielle](https://docs.gunicorn.org/en/stable/settings.html).

### Fichier de configuration

* Vous pouvez également créer un fichier de configuration pour définir les options de Gunicorn.
  Ce fichier peut être au format Python et nommé `gunicorn.config.py`.

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

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

## Avez-vous aimé cet article ?

* Nous avons créé ce contenu avec le plus grand soin afin d'offrir la meilleure aide possible.
  Si cet article vous a aidé d'une quelconque manière, soutenez notre travail ! Laissez votre avis ! Cela nous aide à comprendre ce qui compte le plus pour vous.

<CardGroup cols={2}>
  <Card title="Google Reviews" icon="google" href="https://g.page/r/CYZenpQcDgTzEAI/review">
    Laissez votre avis sur Google Reviews.
  </Card>

  <Card title="Trustpilot" icon="star" href="https://www.trustpilot.com/review/squarecloud.app">
    Laissez votre avis sur Trustpilot.
  </Card>
</CardGroup>
