Table des matières
Nginx
Maison développement back-end Tutoriel Python Introduction détaillée au déploiement en Python

Introduction détaillée au déploiement en Python

Jul 23, 2017 am 10:09 AM
部署

J'apprends Flask depuis un moment, mais je ne l'ai jamais déployé, alors je réfléchissais à la façon de le déployer. J'y ai réfléchi, commençons par lancer le service, alors j'ai pensé à le faire en premier. , et j'ai choisi ici. C'est Flask+uwsgi+Nginx+Ubuntu. L'option Python est 2.7.2. C'est celle qui est fournie avec le système Ubuntu. Cela semble simple à apprendre sans avoir à passer par le logiciel. connexion. Actuellement, mon propre flacon est écrit en python3, et je vais y passer lentement, comprenons d'abord cela, puis il sera très facile à optimiser. En fait, je ne connais pas grand-chose à de nombreux principes. Commençons par configurer cela et comprenons lentement la logique à l'intérieur.

Nginx

Nginx est un serveur Web et un serveur proxy inverse efficace qui peut être utilisé comme équilibrage de charge (lorsque n utilisateurs accèdent au serveur, il peut décharger et partager la charge de la pression du serveur), par rapport à Apache, Nginx prend en charge une concurrence élevée et peut prendre en charge des millions de connexions TCP et des centaines de milliers de connexions simultanées. Il est simple à déployer, consomme moins de mémoire et a un faible coût. de nombreux modules comme Apache. Nginx prend en charge le protocole uwsgi de uWSGI, nous pouvons donc combiner Nginx avec uWSGI, et Nginx transmet le contenu dynamique à uWSGI pour traitement via uwsgi_pass.

La documentation officielle est ici

Le meilleur tutoriel Nginx est ici

uwsgi

uWSGI est un serveur Web qui implémente le protocole WSGI , uwsgi, http et autres protocoles. La fonction de HttpUwsgiModule dans Nginx est d'échanger avec le serveur uWSGI.
Faites attention à la distinction entre les trois concepts WSGI / uwsgi / uWSGI.
  • Les étudiants qui ont lu la section précédente sauront que WSGI est un protocole de communication.
  • uwsgi est un protocole de ligne plutôt qu'un protocole de communication. Il est souvent utilisé pour la communication de données entre le serveur uWSGI et d'autres serveurs réseau.
  • Et uWSGI est un serveur Web qui implémente deux protocoles, uwsgi et WSGI.
Le protocole uwsgi est le propre protocole d'un serveur uWSGI. Il est utilisé pour définir le type d'informations à transmettre. Les 4 premiers octets de chaque paquet uwsgi sont une description du type d'informations. à transmettre. Par rapport à WSGI, ce sont deux choses différentes.
Préparation, tout d'abord, installons les packages dont nous avons besoin Tout d'abord, c'est mon système nouvellement installé, donc il n'y a pas de pip, je vais donc d'abord installer pip
sudo apt-get install python-pip
Copier après la connexion
Utilisez la commande suivante pour installer flask

pip install flask
Copier après la connexion
Après l'installation, nous pouvons le tester,

import flask

Aucune erreur n'est signalée, ce qui prouve que notre flask est installé avec succès. La prochaine chose que nous devons faire est d’installer ngnix et uwsgi.

sudo apt-get install nginx
Copier après la connexion
Après l'installation, nous pouvons le démarrer d'abord, nginx start Démarrage direct en ligne de commande, simple et grossier

Ceci façon Notre nginx a démarré avec succès. Ensuite, nous utilisons pip pour installer uwsgi

Après l'avoir installé, commençons à travailler

Je le crée d'abord sous hellowflak Le package python d'une application,

.

#app/__init__.pyfrom flask import Flask
app = Flask(__name__)from app import view
Copier après la connexion
Ensuite, nous créons view.py

from app import app
@app.route('/')def index():return 'hellow'
Copier après la connexion
Ensuite, nous allons dans l'application Créer hello.py

from app import appif __name__ == "__main__":
    app.run()
Copier après la connexion
dans le répertoire de même niveau, puis nous pouvons utiliser Python pour déboguer notre programme localement,

Ensuite, nous pouvons jeter un œil dans le navigateur, entrez l'adresse et obtenez ceci. De ce point de vue, il n'y a aucun problème avec notre programme de flacons.

Ensuite, ce que nous devons faire est de laisser nginx prendre en charge le service Web.

Ce que j'ai fait ici, c'est simplement et grossièrement supprimer le fichier de configuration nginx

$ sudo rm /etc/nginx/sites-enabled/default
Copier après la connexion
Ensuite, j'ai créé un fichier de configuration sous hellowflask

server {
    listen      8081;
    server_name 127.0.0.1;
    charset     utf-8;
    client_max_body_size 75M;

    location / { try_files $uri @app; }
    location @app {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9000;
    }
}
Copier après la connexion
Une brève explication : server_name peut être un nom de domaine ou une adresse IP. uwsgi_pass indique la méthode de communication entre Nginx et uwsgi. Ce que j'ai choisi ici est le numéro de port spécifié.

Ensuite, connectons en douceur notre configuration à nginx.

sudo ln -s <span class="hljs-regexp"><span class="hljs-regexp">/home/liwanlei/Desktop/hellowflask/<span class="hljs-regexp">helloflask_nginx.conf /etc<span class="hljs-regexp">/nginx/conf.d/<br/>这样我们再去启动我们的nginx,</span></span></span></span>
Copier après la connexion
sudo /etc/init.d/nginx restart
Copier après la connexion
Ce qu'il y a ici n'est pas un accueil, mais une erreur 502, car notre fichier uwsgi actuel n'a pas encore été configuré et nous n'avons pas démarré uwsgi, alors allons-y ensuite, je veux juste sortir cet uwsgi. L'exemple suivant est ma configuration.

[uwsgi]    
    base = /home/liwanlei/Desktop/hellowflask
    app = hello#module = %(app)pidfile = /var/run/uwsgi.pid
    master = true
    wsgi-file = /home/liwanlei/Desktop/hellowflask/hello.py
    pythonpath = /usr/bin/python
    chdir = /home/liwanlei/Desktop/hellowflask
    socket = 127.0.0.1:9000callable = app
    logto = %n.log
    plugins = python
    processes = 8master = true
Copier après la connexion
À ce stade, notre uwsgi a été configuré, alors commençons-le,

sudo /usr/bin/uwsgi --ini/home/liwanlei/Desktop/hellowflask/helloflask_uwsgi.ini
Copier après la connexion

我们去重新启动我们的nginx,

sudo nginx <span class="hljs-_">reload<br/>平滑重启可以用用,重新加载配置文件,用新的工作进程代替旧的工作进程。<br/></span>
Copier après la connexion
sudo nginx -s reload
Copier après la connexion
<span class="hljs-_"><br/>启动后,我这里修改了地址,这里就可以直接访问了,那么我们的部署这样就算可以了,简单的。<br/><img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/001/25f4d9be3a729ae5fc17c2fefb915c9c-3.jpg"  class="lazy" alt=""/></span>
Copier après la connexion
 <br/>
Copier après la connexion

完工之后,感觉还是很简单的 有问题那么就去看log,只要log配置得当,那么排除错误是很快的。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Jenkins Pipeline pour créer un processus continu de packaging et de déploiement de programmes PHP ? Comment utiliser Jenkins Pipeline pour créer un processus continu de packaging et de déploiement de programmes PHP ? Jul 30, 2023 pm 07:41 PM

Comment utiliser JenkinsPipeline pour créer un processus continu d'empaquetage et de déploiement de programmes PHP ? Jenkins est un outil d'intégration et de déploiement continu très populaire. Il fournit une multitude de plug-ins et de fonctions pour rendre le processus de construction et de déploiement simple et efficace. JenkinsPipeline est le dernier plug-in pour Jenkins, qui nous permet d'utiliser un DSL (DomainSpecificLanguage) complet et extensible pour définir une intégration et un déploiement continus.

Comment déployer une interface web fiable sur un serveur Linux ? Comment déployer une interface web fiable sur un serveur Linux ? Sep 09, 2023 pm 03:27 PM

Comment déployer une interface web fiable sur un serveur Linux ? Introduction : À l'ère actuelle d'explosion de l'information, les applications Web sont devenues l'un des principaux moyens permettant aux individus d'obtenir des informations et de communiquer. Afin de garantir la confidentialité des utilisateurs et la fiabilité des informations, nous devons déployer une interface Web fiable sur le serveur Linux. Cet article explique comment déployer une interface Web dans un environnement Linux et fournit des exemples de code pertinents. 1. Installez et configurez le serveur Linux. Tout d'abord, nous devons préparer un Li.

Comment déployer des applications à l'aide de la conteneurisation Docker dans FastAPI Comment déployer des applications à l'aide de la conteneurisation Docker dans FastAPI Jul 28, 2023 pm 01:25 PM

Comment utiliser la conteneurisation Docker pour déployer des applications dans FastAPI Introduction : Docker est une technologie de conteneurisation qui regroupe les applications et leurs dépendances dans un conteneur indépendant et portable pour réaliser un déploiement et une expansion rapides. FastAPI est un framework Web moderne et performant basé sur Python qui offre une expérience de développement d'API simple et rapide. Cet article explique comment utiliser la conteneurisation Docker pour déployer des applications dans FastAPI et fournit des exemples de code correspondants.

Comment résoudre le problème d'inaccessibilité après le déploiement du package de guerre par Tomcat Comment résoudre le problème d'inaccessibilité après le déploiement du package de guerre par Tomcat Jan 13, 2024 pm 12:07 PM

Comment résoudre le problème selon lequel Tomcat ne parvient pas à accéder au package war après son déploiement nécessite des exemples de code spécifiques. En tant que serveur Web Java largement utilisé, Tomcat permet aux développeurs de regrouper leurs propres applications Web développées dans des fichiers war pour le déploiement. Cependant, nous pouvons parfois rencontrer le problème de l'impossibilité d'accéder au package war après son déploiement. Cela peut être dû à une configuration incorrecte ou à d'autres raisons. Dans cet article, nous fournirons quelques exemples de code concrets qui résolvent ce dilemme. 1. Vérifiez le service Tomcat

Yolov10 : explication détaillée, déploiement et application en un seul endroit ! Yolov10 : explication détaillée, déploiement et application en un seul endroit ! Jun 07, 2024 pm 12:05 PM

1. Introduction Au cours des dernières années, les YOLO sont devenus le paradigme dominant dans le domaine de la détection d'objets en temps réel en raison de leur équilibre efficace entre le coût de calcul et les performances de détection. Les chercheurs ont exploré la conception architecturale de YOLO, les objectifs d'optimisation, les stratégies d'expansion des données, etc., et ont réalisé des progrès significatifs. Dans le même temps, le recours à la suppression non maximale (NMS) pour le post-traitement entrave le déploiement de bout en bout de YOLO et affecte négativement la latence d'inférence. Dans les YOLO, la conception de divers composants manque d’une inspection complète et approfondie, ce qui entraîne une redondance informatique importante et limite les capacités du modèle. Il offre une efficacité sous-optimale et un potentiel d’amélioration des performances relativement important. Dans ce travail, l'objectif est d'améliorer encore les limites d'efficacité des performances de YOLO à la fois en post-traitement et en architecture de modèle. à cette fin

Guide de déploiement de Gunicorn pour les applications Flask Guide de déploiement de Gunicorn pour les applications Flask Jan 17, 2024 am 08:13 AM

Comment déployer l'application Flask à l'aide de Gunicorn ? Flask est un framework Web Python léger largement utilisé pour développer divers types d'applications Web. Gunicorn (GreenUnicorn) est un serveur HTTP basé sur Python utilisé pour exécuter des applications WSGI (WebServerGatewayInterface). Cet article expliquera comment utiliser Gunicorn pour déployer des applications Flask, avec

Meilleures pratiques et solutions aux problèmes courants pour le déploiement de projets Web sur Tomcat Meilleures pratiques et solutions aux problèmes courants pour le déploiement de projets Web sur Tomcat Dec 29, 2023 am 08:21 AM

Meilleures pratiques pour le déploiement de projets Web avec Tomcat et solutions aux problèmes courants Introduction : Tomcat, en tant que serveur d'applications Java léger, a été largement utilisé dans le développement d'applications Web. Cet article présentera les meilleures pratiques et les méthodes courantes de résolution de problèmes pour le déploiement de projets Web Tomcat, et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer. 1. Planification de la structure des répertoires du projet Avant de déployer un projet Web, nous devons planifier la structure des répertoires du projet. D'une manière générale, nous pouvons l'organiser de la manière suivante

Déployez la combinaison imbattable de Gunicorn et Flask Déployez la combinaison imbattable de Gunicorn et Flask Jan 17, 2024 am 10:24 AM

Gunicorn et Flask : La combinaison de déploiement parfaite, nécessitant des exemples de code spécifiques Présentation : Il est très important pour les développeurs de choisir la méthode de déploiement appropriée, notamment pour les applications Web Python. Parmi les frameworks Web Python, Flask est un choix très populaire et Gunicorn est un serveur permettant de déployer des applications Python. Cet article présentera la combinaison de Gunicorn et Flask et fournira quelques exemples de code spécifiques pour aider les lecteurs.

See all articles