


Résumé de 9 méthodes de déploiement de programmes Web Python
Python dispose de nombreux frameworks de développement Web. Une fois le code écrit, le déploiement et le lancement sont un gros problème. De manière générale, les applications Web sont généralement des structures de serveur Web à trois niveaux ---->application ----->. ; Serveur DB
Vous pouvez compter les serveurs Web grand public avec une seule slap, apache, lighttpd, nginx, iis
application, le nom chinois est appelé service d'application, qui est le code d'application que vous écrivez basé sur un certain framework Web. Fait référence aux services de stockage. MySQL est principalement utilisé dans le développement Web. Ces dernières années, en raison de l'expansion de l'échelle des sites Web, le stockage de valeurs clés tel que Memcache et Redis est également devenu populaire Le serveur web placé à l'avant a 3 fonctions
Facile à installer, avec peu de packages dépendants
Le fichier de conf est très facile à configurer, plus simple qu'apache/lighttpd
Il existe 9 façons de déployer des programmes Web développés en python
Programmeurs Python J'aime inventer la roue. En plus d'être un framework Web, tornado peut également fournir un serveur http hautes performances de manière indépendante. Par conséquent, si vous utilisez d'autres frameworks python pour écrire du code, comme Bottle, vous pouvez le faire. démarrez également un serveur hautes performances en important le serveur http tornado qui peut également être déployé à l'aide du protocole http et de nginx. En expansion, il existe de nombreux serveurs http dans le package python qui peuvent gérer une concurrence élevée, tels que gevent, qui peuvent également être référencés par d'autres frameworks pour prendre en charge le déploiement http. En réalité, lors de l'utilisation de Java pour créer des programmes Web, http et nginx sont généralement utilisés. Le serveur d'application choisit Tomcat ou Jettyuwsgi, qui se compose de 4 parties,
Protocole uwsgi
Module de protocole de support intégré du serveur WebModule de support du protocole du serveur d'applications
Programme de contrôle de processus
nginx a un support intégré pour le protocole uwsgi à partir de la version 0.8.4. Le protocole uwsgi est très simple, avec 4 mots par en-tête de strophe + un corps, le corps peut être un paquet de nombreux protocoles, tels que http, cgi, etc. (marqué par des champs dans l'en-tête, j'ai déjà fait un petit-). test de comparaison des performances à grande échelle, et les résultats ont montré que par rapport à fastcgi, uwsgi n'a aucune performance. L'avantage évident peut également être dû à l'ensemble de données plus petit
La caractéristique d'uwsgi est son propre programme de contrôle de processus Il est écrit. en langage C et utilise la fonction natvie. En fait, c'est la même chose que spawn-fcgi/php-fpm. Par conséquent, uwsgi peut prendre en charge une variété de frameworks d'application, notamment (python, lua, ruby, erlang, go), etc.
Gunicorn, un outil similaire à uwsgi, est transplanté à partir de l'outil de déploiement de rails (Unicorn) . Mais le protocole qu'il utilise est WSGI, le nom complet est Python Web Server Gateway Interface, qui est la norme officielle (PEP 333) définie dans python2.5. Il a de bonnes racines et est relativement simple à déployer http://gunicorn. org/ Il existe un tutoriel détaillé
mod_wsgi, un module d'Apache, qui prend également en charge le protocole WSGI, https://code.google.com/p/modwsgi/
le protocole fastcgi et http le protocole sont utilisés dans le déploiement du code Comparaison des avantages et des inconvénients
Bien que fastcgi soit un protocole binaire, il n'économise pas de ressources par rapport au protocole http. Le protocole binaire ne peut enregistrer que l'expression de nombres, tels que 1234567. Il faut 7 octets pour l'exprimer sous forme de chaîne et 4 octets sous forme de nombre, et la chaîne est la même partout
Lorsque fastcgi transmet des données , afin qu'il soit compatible avec le protocole cgi et apporte également un tas de variables d'environnement cgi. Par conséquent, par rapport au protocole http, utiliser fastcgi pour transmettre des données n'est pas économique, mais plus coûteux
Le seul avantage de. fastcgi est qu'il s'agit d'une connexion à long terme, si l'utilisateur fait 1000 requêtes simultanées, fastcgi peut utiliser 10 liens pour transférer vers l'application back-end. Si vous utilisez le protocole http, vous pouvez en donner autant que vous le souhaitez, et 1000 requêtes seront initiées vers l'application back-end
méthode de transfert de proxy http, des problèmes surviendront face à une concurrence ultra-élevée, car dans la pile de protocole TCP, le port est un entier int16 lorsque vous créez un nouveau. connectez-vous localement, vous devez consommer un port, qui peut aller jusqu'à 65536. Des centaines de milliers de requêtes externes simultanées, le pool de ports est épuisé et votre serveur ne peut que refuser de répondre
Résumé
Mon habitude personnelle est d'utiliser le protocole fastcgi pour déployer des programmes python. est simple et sans problème. Choisissez la solution technologique, assurez-vous de choisir la solution la plus simple et la plus courante. Le script d'exécution fastcgi de ce blog est le suivant
kill - `cat / tmp / django.pid` echo 'restart django....' python . / manage.py runfcgi - - settings = lutaf.settings_r maxchildren = maxspare = minspare = method = prefork pidfile = / tmp / django.pid host = 127.0 . 0.1 port = outlog = / tmp / dj.out errlog = / tmp / dj.error
Je vous recommande d'essayer Gunicorn, c'est l'orientation future du développement
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les problèmes de «chargement» PS sont causés par des problèmes d'accès aux ressources ou de traitement: la vitesse de lecture du disque dur est lente ou mauvaise: utilisez Crystaldiskinfo pour vérifier la santé du disque dur et remplacer le disque dur problématique. Mémoire insuffisante: améliorez la mémoire pour répondre aux besoins de PS pour les images à haute résolution et le traitement complexe de couche. Les pilotes de la carte graphique sont obsolètes ou corrompues: mettez à jour les pilotes pour optimiser la communication entre le PS et la carte graphique. Les chemins de fichier sont trop longs ou les noms de fichiers ont des caractères spéciaux: utilisez des chemins courts et évitez les caractères spéciaux. Problème du PS: réinstaller ou réparer le programme d'installation PS.

Un PS est coincé sur le "chargement" lors du démarrage peut être causé par diverses raisons: désactiver les plugins corrompus ou conflictuels. Supprimer ou renommer un fichier de configuration corrompu. Fermez des programmes inutiles ou améliorez la mémoire pour éviter une mémoire insuffisante. Passez à un entraînement à semi-conducteurs pour accélérer la lecture du disque dur. Réinstaller PS pour réparer les fichiers système corrompus ou les problèmes de package d'installation. Afficher les informations d'erreur pendant le processus de démarrage de l'analyse du journal d'erreur.

Le bégaiement "Chargement" se produit lors de l'ouverture d'un fichier sur PS. Les raisons peuvent inclure: un fichier trop grand ou corrompu, une mémoire insuffisante, une vitesse du disque dur lente, des problèmes de pilote de carte graphique, des conflits de version PS ou du plug-in. Les solutions sont: vérifier la taille et l'intégrité du fichier, augmenter la mémoire, mettre à niveau le disque dur, mettre à jour le pilote de carte graphique, désinstaller ou désactiver les plug-ins suspects et réinstaller PS. Ce problème peut être résolu efficacement en vérifiant progressivement et en faisant bon usage des paramètres de performances PS et en développant de bonnes habitudes de gestion des fichiers.

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

La clé du contrôle des plumes est de comprendre sa nature progressive. Le PS lui-même ne fournit pas la possibilité de contrôler directement la courbe de gradient, mais vous pouvez ajuster de manière flexible le rayon et la douceur du gradient par plusieurs plumes, des masques correspondants et des sélections fines pour obtenir un effet de transition naturel.

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

L'optimisation des performances MySQL doit commencer à partir de trois aspects: configuration d'installation, indexation et optimisation des requêtes, surveillance et réglage. 1. Après l'installation, vous devez ajuster le fichier my.cnf en fonction de la configuration du serveur, tel que le paramètre innodb_buffer_pool_size, et fermer query_cache_size; 2. Créez un index approprié pour éviter les index excessifs et optimiser les instructions de requête, telles que l'utilisation de la commande Explication pour analyser le plan d'exécution; 3. Utilisez le propre outil de surveillance de MySQL (ShowProcessList, Showstatus) pour surveiller la santé de la base de données, et sauvegarde régulièrement et organisez la base de données. Ce n'est qu'en optimisant en continu ces étapes que les performances de la base de données MySQL peuvent être améliorées.

La plume PS est un effet flou du bord de l'image, qui est réalisé par la moyenne pondérée des pixels dans la zone de bord. Le réglage du rayon de la plume peut contrôler le degré de flou, et plus la valeur est grande, plus elle est floue. Le réglage flexible du rayon peut optimiser l'effet en fonction des images et des besoins. Par exemple, l'utilisation d'un rayon plus petit pour maintenir les détails lors du traitement des photos des caractères et l'utilisation d'un rayon plus grand pour créer une sensation brumeuse lorsque le traitement de l'art fonctionne. Cependant, il convient de noter que trop grand, le rayon peut facilement perdre des détails de bord, et trop petit, l'effet ne sera pas évident. L'effet de plumes est affecté par la résolution de l'image et doit être ajusté en fonction de la compréhension de l'image et de la saisie de l'effet.
