Accueil - Article - Détails

Comment utiliser Flask ou Bottle avec Nginx ?

Liam Martinez
Liam Martinez
Liam est un influenceur des médias sociaux. Il a un grand public et promeut souvent des tasses thermos nawas, des tasses à café en acier en acier aux tasses thermos pour enfants, à son public, mettant l'accent sur les produits de haute qualité de la marque.

Salut! Si vous aimez le développement Web, vous avez probablement entendu parler de Flask and Bottle. Ces frameworks Web Python légers sont très pratiques pour créer des applications Web. Et lorsqu'il s'agit de les déployer, Nginx est un serveur Web de premier choix. En tant que fournisseur de flacons et de bouteilles, je suis là pour vous expliquer comment utiliser Flask ou Bottle avec Nginx.

Pourquoi combiner Flask/Bottle avec Nginx ?

Tout d’abord, parlons des raisons pour lesquelles vous voudriez utiliser Flask ou Bottle avec Nginx. Flask et Bottle sont parfaits pour créer rapidement des applications Web, mais ils ne sont pas conçus pour gérer seuls un grand nombre de requêtes simultanées. Ils ressemblent davantage à de simples moteurs qui alimentent les fonctionnalités de votre application Web.

Nginx, quant à lui, est un serveur Web hautes performances. Il peut gérer efficacement une tonne de connexions simultanées. En utilisant Nginx devant votre application Flask ou Bottle, vous pouvez décharger des tâches telles que la gestion de fichiers statiques, la gestion des requêtes HTTP et l'équilibrage de charge. De cette façon, votre application Flask ou Bottle peut se concentrer sur ce qu'elle fait le mieux : traiter la logique métier.

Configuration du flacon ou de la bouteille

Avant de nous lancer dans l'intégration avec Nginx, assurons-nous que notre application Flask ou Bottle est opérationnelle.

Stainless Steel Insulated Coffee Pot bestStainless Steel Insulated Coffee Pot

Configuration du flacon

Si vous utilisez Flask, assurez-vous d’abord que Python et Flask sont installés. Vous pouvez créer une application Flask simple comme celle-ci :

from flask import Flask app = Flask(__name__) @app.route('/') def hello_world() : return 'Bonjour le monde !' si __name__ == '__main__' : app.run(host='0.0.0.0', port=5000)

Enregistrez ce code dans un fichier, par exempleapp.py. Ensuite, exécutez-le en utilisantapplication python.py. Votre application Flask commencera à s'exécuter surhttp://0.0.0.0:5000.

Configuration de la bouteille

Pour Bottle, le processus est similaire. Installez Bottle si vous ne l'avez pas déjà fait. Voici une application Bottle simple :

à partir de la route d'importation de la bouteille, exécutez @route('/') def index() : return 'Bonjour de la bouteille !' exécuter (hôte = '0.0.0.0', port = 8080)

Enregistrez ceci sousbouteille_app.pyet exécutez-le avecpython bouteille_app.py. Votre application Bottle sera accessible surhttp://0.0.0.0:8080.

Installation et configuration de Nginx

Maintenant, mettons Nginx en service. Le processus d'installation varie en fonction de votre système d'exploitation. Sur Ubuntu, vous pouvez utiliser la commande suivante :

sudo apt-get update sudo apt-get install nginx

Après l'installation, démarrez Nginx en utilisantsudo systemctl démarrer nginx. Vous pouvez vérifier son statut avecsudo systemctl statut nginx.

Configuration de Nginx pour un flacon ou une bouteille

Nginx utilise des fichiers de configuration pour définir comment il doit gérer les requêtes. Vous devrez créer un nouveau fichier de configuration pour votre application Flask ou Bottle.

Créez un nouveau fichier dans le/etc/nginx/sites - disponible/annuaire. Par exemple, si vous utilisez Flask, vous pouvez créer un fichier nomméflask_app.conf:

serveur {écouter 80 ; nom_serveur votre_domaine_ou_ip ; emplacement / { proxy_pass http://127.0.0.1:5000 ; proxy_set_header Hôte $host ; proxy_set_header X - Réel - IP $remote_addr ; proxy_set_header X - Transféré - Pour $proxy_add_x_forwarded_for ; } }

Si vous utilisez Bottle, modifiez leproxy_passàhttp://127.0.0.1:8080et enregistrez le fichier sousbouteille_app.conf.

Créez un lien symbolique vers lesites - activésannuaire:

sudo ln -s /etc/nginx/sites - disponible/flask_app.conf /etc/nginx/sites - activé/

Ou pour la bouteille :

sudo ln -s /etc/nginx/sites - disponible/bottle_app.conf /etc/nginx/sites - activé/

Testez la configuration de Nginx avecsudo nginx -t. S'il n'y a pas d'erreur, rechargez Nginx en utilisantsudo systemctl recharger nginx.

Servir des fichiers statiques

L'un des avantages de Nginx est sa capacité à servir efficacement des fichiers statiques. Dans votre application Flask ou Bottle, vous pouvez avoir des ressources statiques telles que CSS, JavaScript ou des images.

Dans votre fichier de configuration Nginx, ajoutez un nouveauemplacementbloc pour les fichiers statiques. Par exemple:

emplacement /static { alias /path/to/your/static/files ; }

Cela indique à Nginx de servir les fichiers du répertoire spécifié lorsqu'une requête commence par/statique.

Équilibrage de charge

Si plusieurs instances de votre application Flask ou Bottle sont en cours d'exécution, vous pouvez utiliser Nginx pour l'équilibrage de charge. Voici comment vous pouvez le configurer :

flask_apps en amont { serveur 127.0.0.1:5000 ; serveur 127.0.0.1:5001 ; } serveur {écouter 80 ; nom_serveur votre_domaine_ou_ip ; emplacement / { proxy_pass http://flask_apps ; proxy_set_header Hôte $host ; proxy_set_header X - Réel - IP $remote_addr ; proxy_set_header X - Transféré - Pour $proxy_add_x_forwarded_for ; } }

Cette configuration répartit les requêtes entrantes entre deux instances de votre application Flask exécutée sur les ports 5000 et 5001.

Utiliser un proxy inverse

Nginx agit comme un proxy inverse dans cette configuration. Un proxy inverse se trouve devant votre application Flask ou Bottle et lui transmet les demandes. Cela aide également à cacher la structure interne de votre application au monde extérieur.

Leproxy_passLa directive dans la configuration Nginx est ce qui rend cela possible. Il prend les requêtes HTTP entrantes et les envoie à l'application Flask ou Bottle appropriée exécutée sur la machine locale.

Surveillance et dépannage

Une fois que tout est configuré, il est important de surveiller votre application Flask/Bottle et Nginx. Vous pouvez utiliser des outils commequeuepour afficher les journaux d'accès et d'erreurs Nginx :

sudo tail -f /var/log/nginx/access.log sudo tail -f /var/log/nginx/error.log

Si vous rencontrez des problèmes, ces journaux peuvent vous fournir des informations précieuses sur ce qui ne va pas. Par exemple, si vous voyez502 Mauvaise passerelleerreurs, cela peut signifier que votre application Flask ou Bottle ne fonctionne pas correctement.

Nos offres de produits

En tant que fournisseur de flacons et de bouteilles, nous ne nous contentons pas de fournir des conseils. Nous proposons également des produits de haute qualité liés à l'écosystème Flask and Bottle. Par exemple, si vous cherchez un excellent moyen de garder votre café au chaud pendant que vous êtes occupé à coder, consultez notreCafetière isolée en acier inoxydable. C'est parfait pour ces longues sessions de codage.

Contactez-nous pour l'approvisionnement

Si vous êtes intéressé par nos solutions Flask et Bottle, ou si vous avez des questions sur leur utilisation avec Nginx, nous serions ravis de vous entendre. Que vous soyez une petite startup ou une grande entreprise, nous pouvons vous fournir le support et les produits dont vous avez besoin. Contactez-nous pour entamer une discussion sur l’approvisionnement. Nous sommes là pour vous aider à tirer le meilleur parti de vos projets de développement Web.

Références

  • Documentation du flacon
  • Documentation sur la bouteille
  • Documentation Nginx

Envoyez demande

Articles de blog populaires