Nginx

Comment utiliser Nginx avec Flask.

Comment utiliser Nginx avec Flask.
Python est un langage de programmation formidable, facile à apprendre et tout-puissant, et avec des frameworks tels que Django et Flask, nous pouvons l'utiliser pour créer des applications Web à part entière. Une fois que nous avons créé une application Web à l'aide de bibliothèques et de frameworks tels que Flask, nous devons l'héberger sur un serveur et l'exposer au public. Ce tutoriel explique comment héberger votre application Web sur un serveur exécutant Nginx à l'aide de Gunicorn. Avant de commencer avec Flask et Gunicorn, assurez-vous que vous remplissez les conditions suivantes :

Configuration du serveur

Commençons maintenant à définir l'environnement du serveur que nous utiliserons pour héberger notre serveur. Ce tutoriel utilise le serveur Ubuntu. Commencez par mettre à jour les référentiels et installer Python3 et Pip.

sudo apt-get mise à jour
sudo apt-get upgrade -y
sudo apt-get install python3 python3-pip -y

Ensuite, nous devons créer un répertoire pour stocker le projet.

sudo mkdir /var/www/application
cd /var/www/application

Modifier la propriété et les autorisations du répertoire :

sudo chown -R www-data:www-data /var/www/application/

Ensuite, installez les packages en utilisant apt (flask et Gunicorn)

sudo apt-get install python3-flask python3-gunicorn

Passons maintenant à l'initialisation d'une application flask. Commencez par créer le principal.py-contient l'application-et wsgi.py, qui lancera l'application.

sudo touch principal.py wsgi.py

Modifier le principal.py et configurez votre application Flask et toutes les routes. Puisque ce tutoriel n'est pas un guide Flask, nous allons mettre en place un itinéraire de base et un message hello world.

de l'importation du flacon Flacon
app = Flacon (__nom__)
@app.route("/")
def home() :
revenir "

Nginx & Gunicorne

"

Modifier le wsgi.py et ajoutez le code pour importer l'application, et exécutez-le en tant que :

depuis l'application d'importation principale
if __name__ == "__main__":
application.run(debug=True)

Enfin, testez s'il est opérationnel en appelant flask en tant que :

$ exécution de la fiole
* Environnement : fabrication
ATTENTION : Ceci est un serveur de développement. Ne l'utilisez pas dans un déploiement de production.
Utilisez plutôt un serveur WSGI de production.
* Mode de débogage : désactivé
* Fonctionnant sur http://127.0.0.1:5000/ (Appuyez sur CTRL+C pour quitter)

Essayez d'accéder à l'application sur http://localhost:5000.

Configurer Gunicorne

Une fois notre application exécutée avec succès, nous pouvons utiliser Gunicorn pour tester l'application à l'aide des commandes :

$ sudo gunicorn --workers 5 wsgi:app
[2021-03-19 09:19:34 +0000] [14047] [INFO] Démarrage de gunicorn 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Écoute sur : http://127.0.0.1:8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Utilisation du travailleur : sync
[2021-03-19 09:19:34 +0000] [14049] [INFO] Amorçage du travailleur avec pid : 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Boot worker avec pid: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Boot worker avec pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Boot worker avec pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Amorçage du travailleur avec pid : 14053

Les commandes ci-dessus exécute l'application de flacon à l'aide de Gunicorn en utilisant le nombre spécifié de travailleurs. Nous appelons ensuite le fichier wsgi:app, qui est le fichier et l'instance de l'application à exécuter.

Une fois que vous avez exécuté l'application à l'aide de Gunicorn, appuyez sur CTRL + C pour arrêter le serveur et configurer Nginx.

Utilisez les commandes ci-dessous pour installer et exécuter Nginx.

sudo apt-get install nginx -y
sudo systemctl démarrer nginx
sudo systemctl activer nginx

L'étape suivante consiste à modifier la configuration Nginx dans le répertoire sites-enabled et à ajouter le bloc de serveur. Considérez la configuration suivante. Remplacez l'application par le nom de votre projet.

sudo nano /etc/nginx/sites-available/application.conf
serveur
écouter 80 ;
application nom_serveur ;
access_log /var/log/nginx/application.accès.Journal;
error_log /var/log/nginx/application.Erreur.Journal;
emplacement /
inclure proxy_params ;
proxy_pass http://unix:/var/www/application/application.chaussette;

Procédez à la création d'un lien vers le répertoire activé pour le site pour activer le site Web.

sudo ln -s /etc/nginx/sites-available/application.conf /etc/nginx/sites-enabled/

Redémarrez maintenant le service Nginx en tant que :

sudo systemctl redémarrer nginx

Ensuite, nous devons créer un fichier d'unité systemd pour servir l'application.

sudo nano /etc/systemd/system/application.un service
[Unité]
Description=application.service - Une application Flask exécutée avec Gunicorn.
Après=réseau.cible
[Un service]
Utilisateur = www-données
Groupe=www-données
WorkingDirectory=/var/www/application/
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:/var/www/application.chaussette wsgi:app
[Installer]
WantedBy=multi-utilisateur.cible

Enfin, enregistrez le fichier unité, puis activez et rechargez le démon.

application de redémarrage sudo systemctl.un service
sudo systemctl démon-recharger

Vous pouvez maintenant accéder à l'application en utilisant l'adresse IP ou l'adresse spécifiée dans le fichier de configuration nginx. Vous devrez peut-être l'ajouter au fichier de l'hôte.

curl http://application
HTTP/1.1 200 OK
Serveur : Werkzeug/0.16.1 Python/3.8.5)
Date : ven. 19 mars 2021 10:00:39 GMT
Type de contenu : texte/html
Contenu-Longueur : 25
Dernière modification : ven. 19 mars 2021 09:22:47 GMT

Conclusion

Ce tutoriel a expliqué comment configurer une application Python Flask et la servir sur Nginx à l'aide de Gunicorn. Examinez la documentation individuelle pour en savoir plus sur les services abordés dans ce didacticiel.

Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...
Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...